I've been searching the internet and haven't seen anything in the way of how to exactly implement OOB pairing. I was hoping somebody here could point me to some example code to help me out. The chat example in the Android developers site didn't really dive into this type of pairing at all.
Basically, I have an Android tablet that I want to securely pair with a device, written in C++, that has no built in display/IO mechanism. The tablet to be paired will act as the GUI/IO interface and I'll send message back and fourth over Bluetooth. Thus I want to securely pair the tablet with each device through the OOB paring scheme.
I understand the concept of OOB but I'm having difficulty finding the proper methods to call when looking on the android.developers.com site for my android client code. Also when looking at the bluez stuff I can't find much to go on for my C++ written server.
The basic use case is the user will connect the tablet to the device via a USB connection. The USB connection will facilitate the passing of keys/mac addresses for each device and then using that information pair Bluetooth with each other.
I can figure out the USB part but once I have the keys and necessary information on the client and server I can't seem to track down the correct methods to call for both ends to successfully and securely pair.
I already have a client/server talking via an insecure connection so really the only part I'm having trouble with is the actually pairing on both ends. As once I'm paired I can used a secureRFComm to do all of my future messaging.
There are no public APIs yet on androind to allow for OOB pairing. It is possible nnly if you can or are willing to modify the underlying BlueZ stack to expose the OOB paring hooks to the applicaiton. (Non trivial task)
What OOB mechanism are you plannin on using ? NFC ?