Skip to content

Commit 2edf8d3

Browse files
committed
Change default security settings to BLE secure connections off.
Fixing some connection issues when enabled, users should enable if desired.
1 parent 883013d commit 2edf8d3

File tree

5 files changed

+5
-6
lines changed

5 files changed

+5
-6
lines changed

examples/NimBLE_Client/NimBLE_Client.ino

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,7 @@ void setup() {
266266
* These are the default values, only shown here for demonstration.
267267
*/
268268
// NimBLEDevice::setSecurityAuth(false, false, true);
269-
270-
NimBLEDevice::setSecurityAuth(/*BLE_SM_PAIR_AUTHREQ_BOND | BLE_SM_PAIR_AUTHREQ_MITM |*/ BLE_SM_PAIR_AUTHREQ_SC);
269+
// NimBLEDevice::setSecurityAuth(BLE_SM_PAIR_AUTHREQ_BOND | BLE_SM_PAIR_AUTHREQ_MITM | BLE_SM_PAIR_AUTHREQ_SC);
271270

272271
/** Optional: set the transmit power */
273272
NimBLEDevice::setPower(3); /** 3dbm */

examples/NimBLE_Secure_Client/NimBLE_Secure_Client.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ void setup() {
3030

3131
NimBLEDevice::init("");
3232
NimBLEDevice::setPower(3); /** +3db */
33-
NimBLEDevice::setSecurityAuth(true, true, true); /** bonding, MITM, BLE secure connections */
33+
NimBLEDevice::setSecurityAuth(true, true, false); /** bonding, MITM, don't need BLE secure connections as we are using passkey pairing */
3434
NimBLEDevice::setSecurityIOCap(BLE_HS_IO_KEYBOARD_ONLY); /** passkey */
3535
NimBLEScan* pScan = NimBLEDevice::getScan();
3636
NimBLEScanResults results = pScan->getResults(5 * 1000);

examples/NimBLE_Secure_Server/NimBLE_Secure_Server.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ void setup() {
1919
NimBLEDevice::init("NimBLE");
2020
NimBLEDevice::setPower(3); /** +3db */
2121

22-
NimBLEDevice::setSecurityAuth(true, true, true); /** bonding, MITM, BLE secure connections */
22+
NimBLEDevice::setSecurityAuth(true, true, false); /** bonding, MITM, don't need BLE secure connections as we are using passkey pairing */
2323
NimBLEDevice::setSecurityPasskey(123456);
2424
NimBLEDevice::setSecurityIOCap(BLE_HS_IO_DISPLAY_ONLY); /** Display only passkey */
2525
NimBLEServer* pServer = NimBLEDevice::createServer();

examples/NimBLE_Server/NimBLE_Server.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,8 @@ void setup(void) {
144144
* These are the default values, only shown here for demonstration.
145145
*/
146146
// NimBLEDevice::setSecurityAuth(false, false, true);
147+
// NimBLEDevice::setSecurityAuth(BLE_SM_PAIR_AUTHREQ_BOND | BLE_SM_PAIR_AUTHREQ_MITM | BLE_SM_PAIR_AUTHREQ_SC);
147148

148-
NimBLEDevice::setSecurityAuth(/*BLE_SM_PAIR_AUTHREQ_BOND | BLE_SM_PAIR_AUTHREQ_MITM |*/ BLE_SM_PAIR_AUTHREQ_SC);
149149
pServer = NimBLEDevice::createServer();
150150
pServer->setCallbacks(&serverCallbacks);
151151

src/NimBLEDevice.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,7 @@ bool NimBLEDevice::init(const std::string& deviceName) {
977977
ble_hs_cfg.sm_io_cap = BLE_HS_IO_NO_INPUT_OUTPUT;
978978
ble_hs_cfg.sm_bonding = 0;
979979
ble_hs_cfg.sm_mitm = 0;
980-
ble_hs_cfg.sm_sc = 1;
980+
ble_hs_cfg.sm_sc = 0;
981981
ble_hs_cfg.sm_our_key_dist = BLE_SM_PAIR_KEY_DIST_ENC;
982982
ble_hs_cfg.sm_their_key_dist = BLE_SM_PAIR_KEY_DIST_ENC;
983983
# if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_PRIVACY)

0 commit comments

Comments
 (0)