As I understand BT more and more, I have to keep updating this question... Here are my final 2 questions which are hopefully a little more intelligent:
1) If I register my own service with the security manager to be discovered by other BT devices and set certain security levels (require authorization, don't require encryption etc), would the settings of my service effect the settings of any other services present on the same device? (If I chose to not use any security at all for my service, I don't want other services to drop their defenses either...)
2) If a bluetooth device pairs with another bluetooth device during a service, is this pairing information made available to other services as well? If yes, is there a way to delete this information once the current service unregisters itself so other services cannot access this pairing information (for security purposes).
3) Is the pin number used for pairing shared by all services registered to SDP, or can it be specified on a per-service basis?
Thanks for your patience and responses in advance!
2) Yes, the pairing is a device-level procedure (one-time user-level operation, when authentication is set 'on'). You cannot delete the pairing programmatically.
The solution would be to implement an own 'pairing' method for your application. Then you could set the authentication 'off'. This is only possible if you implement the same handle to the both ends using the same application-specific protocol (you need to have your application running on both ends).
3) Pairing/PIN code is not registered to SDP, as it is a device-level feature. Once you have paired two devices, any application on your device requesting authentication uses the existing link-key (generated in the first-time pairing) for that remote device.
PS. Please note that the Discussion boards are targeted at developer-2-developer discussions. Nokia experts only participate occasionally.
> The solution would be to implement an
> own 'pairing' method for your
> application. Then you could set the
> authentication 'off'. This is only possible
> if you implement the same handle to the
> both ends using the same
> application-specific protocol (you need
> to have your application running on
> both ends).
Based on your answer I quoted above, I have a follow up question. If I turn off authentication, does that mean I cannot use encryption? Ideally, I would like to keep authentication off, but still be able to use encryption for the packets.
Is it possible to use encryption without authentication?