Skip to content

Commit 18c9399

Browse files
committed
BLE - Cordio PAL Sm: generate random passkey displayed.
1 parent ecc7118 commit 18c9399

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -478,15 +478,17 @@ bool CordioSecurityManager::sm_handler(const wsfMsgHdr_t* msg) {
478478
);
479479
DmSecAuthRsp(
480480
connection,
481-
3,
481+
/* data length */ SMP_PIN_LEN,
482482
reinterpret_cast<uint8_t*>(&(get_security_manager()._default_passkey))
483483
);
484484
} else {
485-
// FIXME: generate a random passkey
486-
passkey_num_t passkey = 0x00654321;
485+
/* generate random passkey, limit to 6 digit max */
486+
passkey_num_t passkey;
487+
SecRand((uint8_t *) &passkey, sizeof(passkey));
488+
passkey %= 1000000;
487489
handler->on_passkey_display(connection, passkey);
488490
DmSecAuthRsp(
489-
connection, 3, reinterpret_cast<uint8_t*>(&passkey)
491+
connection, SMP_PIN_LEN, reinterpret_cast<uint8_t*>(&passkey)
490492
);
491493
}
492494
} else {

0 commit comments

Comments
 (0)