Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

iOS NFC OOB Pairing

Hi,

I see you have what appears to be a working implementation of OOB/NFC pairing over iOS here (https://github.com/NordicSemiconductor/IOS-Nordic-Thingy), which doesn't use HomeKit.

I can't quite make out in the code how the OOB Pairing code is communicated to the iOS Bluetooth stack to encrypt the connection?

From what I can work out, the pairing code transmitted over NFC is simply compared to the pairing code (in ThingyNFCCreatorViewController, function thingyManager(_ manager: ThingyManager, didDiscoverPeripheral peripheral: ThingyPeripheral, withPairingCode pairingCode: String?)) that is transmitted over the BLE advertising packet before connecting - doesn't appear to be used to encrypt the connection - Have I missed something?

Parents
  • No, you are correct. Nordic Thingy does not use pairing or bonding, we use the code read from NFC just to locate the device to connect. That is helpful if you have 2+ Thingies and want to connect to one of them and they all advertise as Nordic Thingy, for example.

    I have no knowledge of Secure Connection or legacy OOB pairing on iOS using NFC. We don't have any apps in Mobile Apps Team that demonstrate it, but there should be an example in the SDK that works with Android. This should not require any app on iPhone side, and, if supported, should work just out of the box like Android does.

Reply
  • No, you are correct. Nordic Thingy does not use pairing or bonding, we use the code read from NFC just to locate the device to connect. That is helpful if you have 2+ Thingies and want to connect to one of them and they all advertise as Nordic Thingy, for example.

    I have no knowledge of Secure Connection or legacy OOB pairing on iOS using NFC. We don't have any apps in Mobile Apps Team that demonstrate it, but there should be an example in the SDK that works with Android. This should not require any app on iPhone side, and, if supported, should work just out of the box like Android does.

Children
Related