Previous Topic

Next Topic

Book Contents

Book Index

Supported Pairing Modes

The Bluetooth specification uses the Secure Simple Pairing mechanism with a number of pairing paring modes. Refer to the Security Overview section in Technology Overview.

The following pairing modes are supported in the Bosch IoT Gateway Bluetooth LE module:

The Java classes representing the pairing process at the device access level are in com.prosyst.mbs.services.bluetooth.le.da.items package:

BLE devices employing a pairing method which requires user interaction should export an Authentication functional item through a com.prosyst.mbs.services.bluetooth.le.da.hdm.adapter.api.BleDeviceClassProvider.

Its implementation should be based on the driver layer represented by com.prosyst.mbs.services.btle:

When a device pairing process is started and the underlying BLE layer triggers an authentication request, the request is introduced by the BLE driver as an OSGi event. BluetoothLEDevice interface carries the event topics as constants:

Event Topic

Description

BluetoothLEDevice.TOPIC_DEVICE_NOTIFY_PASSKEY

Part of passkey entry pairing procedure.

Indicates that the passkey carried by BluetoothLEDevice.PROPERTY_PASSKEY should be displayed.

BluetoothLEDevice.TOPIC_DEVICE_NOTIFY_PIN_CODE

Part of passkey entry pairing procedure with a legacy device.

Indicates that the pinCode carried by BluetoothLEDevice.PROPERTY_PIN_CODE should be displayed.

BluetoothLEDevice.TOPIC_DEVICE_REQUEST_PASSKEY

Part of passkey entry pairing procedure.

Indicates that the user should enter a passkey, displayed by the peer device. The passkey is passed by AuthenticationEvent.providePasskey.

BluetoothLEDevice.TOPIC_DEVICE_REQUEST_PIN_CODE

Part of passkey entry pairing procedure with a legacy device.

Indicates that the user should enter a passkey, displayed by the peer device. The pinCode is provided by AuthenticationEvent.providePinCode.

BluetoothLEDevice.TOPIC_DEVICE_REQUEST_CONFIRMATION

Triggered as part of numeric comparison pairing procedure.

The event carries a passkey that should be compared with the one on the peer device. The user should give confirmation via AuthenticationEvent confirm or reject methods.

An event with one of these topics will carry a property with key BluetoothLEDevice.PROPERTY_DEVICE_AUTHENTICATION_EVENT and optionally some of these properties: