I'm trying to enable Encryption on BLE link between Android (API-19) & csr1010. It doesn't matter which pairing method should be used, "just works" or "passkey".
I've set the Encryption flags in adv record and tried to connect with an iPhone4s. Encryption is enabled as pairing is requested at the beginning of each connection. I've checked it myself with a Frontline sniffer / analyser & it confirmed encryption was enabled via the "Decrypted by Analyser=YES" field.
When I tried to connect & bond with Android (Galaxy S4 with API-19), using the ".getDevice().createBond()" function, Android confirmed bonding where bondState==12, as described in "http://developer.android.com/reference/android/blu...".
But when I tried to send data & check that on the Frontline sniffer, data was presented quite normally & not encrypted, where "Decrypted by Analyser=NO"
My question now is:
- If bondState=12 and a connection is established, does this necessarily mean Encryption is enabled?
- Is it enough to bond via the "createBond()" function to enable Encryption on all future connections with these 2 bonded devices, or am I supposed to do something else, e.g. exchanging LTK?
Thanks & KR Moe