|
89 | 89 | * /----------- Device 1 --------------\ *------ BLE link ------* /-------------- Device 2 -------------\
|
90 | 90 | *
|
91 | 91 | * App EventHandler SecurityManager SecurityManager EventHandler App
|
92 |
| - * | | | | | | |
| 92 | + * | | | | | | |
93 | 93 | * |---------------------------> requestPairing() | | |
|
94 |
| - * | | |------[pairing start]------>| | | |
95 |
| - * | | | |----------------> pairingRequest() ->| |
96 |
| - * | | | acceptPairing() <------------------------- | |
97 |
| - * | | |<---[pairing complete]----->| | | |
| 94 | + * | | |------[pairing start]------>| | | |
| 95 | + * | | | |----------------> pairingRequest() ->| |
| 96 | + * | | | acceptPairing() <------------------------ | |
| 97 | + * | | |<---[pairing complete]----->| | | |
98 | 98 | * |<- pairingResult() <---------------| |----------------> pairingResult() -->|
|
99 |
| - * | | | | | | |
| 99 | + * | | | | | | |
100 | 100 | *
|
101 | 101 | * @note the requestPairing() call isn't required to trigger pairing. Pairing will also be triggered
|
102 | 102 | * if you request encryption and authentication and no bonding information is available. The sequence will
|
|
115 | 115 | * | | | | | |
|
116 | 116 | *
|
117 | 117 | * @note if bonding information is not available, pairing will be triggered
|
| 118 | + * |
| 119 | + * |
| 120 | + * Sequence diagram for Secure Connections passkey entry pairing with one device having a display only |
| 121 | + * and other a keyboard |
| 122 | + * |
| 123 | + * /----------- Device 1 (keyboard) ---\ *------ BLE link ------* /-------------- Device 2 (display) ---\ |
| 124 | + * |
| 125 | + * App EventHandler SecurityManager SecurityManager EventHandler App |
| 126 | + * | | | | | | |
| 127 | + * |---------------------------> requestPairing() | | | |
| 128 | + * | | |------[pairing start]------>| | | |
| 129 | + * | | | |----------------> pairingRequest() ->| |
| 130 | + * | | | acceptPairing() <------------------------ | |
| 131 | + * | | |<---[secure con. pairing]-->| | | |
| 132 | + * |<- passkeyRequest() <--------------| |----------------> passkeyDisplay() ->| |
| 133 | + * | | | | | | |
| 134 | + * |
| 135 | + * user reads the passkey on Device 2 and inputs it in Device 1 |
| 136 | + * |
| 137 | + * | | | | | | |
| 138 | + * |-------------------------->passkeyEntered() | | | |
| 139 | + * | | |<---[pairing complete]----->| | | |
| 140 | + * |<- pairingResult() <---------------| |----------------> pairingResult() -->| |
| 141 | + * | | | | | | |
| 142 | + * |
118 | 143 | */
|
119 | 144 |
|
120 | 145 | class SecurityManager {
|
|
0 commit comments