For an outgoing connection, the Bluetooth stack will not, by default, enforce any particular Bluetooth security. If the remote device requires authentication/encryption to connect, then this will be handled by the stack transparently to the application.
It may occasionally be necessary for the local application to insist on authenticating or encrypting the link. In this case, there are control operations (ioctls
) that can be issued on a connected RSocket
that will authenticate (ioctl
KHCIAuthRequestIoctl) or encrypt (KHCIEncryptIoctl) the link.
Issuing Authentication Requests
The following example shows the authentication request ioctl
being issued.
// Assume you have an opened L2CAP RSocket object, socket socket.Ioctl(KHCIAuthRequestIoctl, status, NULL, KSolBtHCI); User::WaitForRequest(status); if (status==KErrNone) { \\ Success...