mirror of https://github.com/ARMmbed/mbed-os.git
enabling signing
parent
1208dc7c34
commit
2ae05ea6aa
|
@ -176,7 +176,7 @@ public:
|
|||
|
||||
/* local csrk */
|
||||
|
||||
virtual const csrk_t& get_local_csrk();
|
||||
virtual const csrk_t* get_local_csrk();
|
||||
virtual void set_local_csrk(
|
||||
const csrk_t csrk
|
||||
);
|
||||
|
@ -228,6 +228,9 @@ public:
|
|||
authentication.set_keypress_notification(true);
|
||||
|
||||
key_distribution.set_signing(signing);
|
||||
if (signing) {
|
||||
initSigning();
|
||||
}
|
||||
|
||||
return BLE_ERROR_NONE;
|
||||
}
|
||||
|
@ -244,6 +247,19 @@ public:
|
|||
return BLE_ERROR_NONE;
|
||||
}
|
||||
|
||||
virtual ble_error_t initSigning() {
|
||||
/* TODO: store init bit to avoid rerunning needlessly*/
|
||||
csrk_t* pcsrk = db.get_local_csrk();
|
||||
if (!pcsrk) {
|
||||
csrk_t csrk;
|
||||
/* TODO: generate csrk */
|
||||
pcsrk = &csrk;
|
||||
db.set_local_csrk(*pcsrk);
|
||||
}
|
||||
pal.set_csrk(*pcsrk);
|
||||
return BLE_ERROR_NONE;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// List management
|
||||
//
|
||||
|
@ -387,8 +403,11 @@ public:
|
|||
}
|
||||
|
||||
if (!entry->signing_key && enabled) {
|
||||
initSigning();
|
||||
|
||||
KeyDistribution distribution = key_distribution;
|
||||
distribution.set_signing(enabled);
|
||||
|
||||
return pal.send_pairing_request(
|
||||
connection,
|
||||
entry->oob,
|
||||
|
|
Loading…
Reference in New Issue