Wifi Prov: Disabled the default support for BLE Encrpytion on characteristics read /write

By default, disabled the BLE Encrpyption requirement for provisioning characteristic.
With this flag enabled, when remote attempts to read and if the ACL link is not encrypted,
ESP device will return Insufficient Authentication. It is remote device responsibility to go
for link encryption which may result in pairing.

Some devices do not proceed for any pairing and just show failure pop-up. Also, user needs
to remove bonding on remote phone manually and then try again. This is causing bad user experience.

End user can enable it as per their use case.
pull/10716/head
Rahul Tank 2022-09-22 16:15:20 +05:30
rodzic a0967db9d8
commit 6040bba236
2 zmienionych plików z 11 dodań i 2 usunięć

Wyświetl plik

@ -19,7 +19,6 @@ menu "Wi-Fi Provisioning Manager"
bool
prompt "Enable BLE bonding"
depends on BT_ENABLED
default y
help
This option is applicable only when provisioning transport is BLE.
@ -35,7 +34,6 @@ menu "Wi-Fi Provisioning Manager"
bool
prompt "Force Link Encryption during characteristic Read / Write"
depends on BT_NIMBLE_ENABLED
default y
help
Used to enforce link encryption when attempting to read / write characteristic

Wyświetl plik

@ -261,6 +261,17 @@ Now erase NVS partition by running the following commands :
$IDF_PATH/components/esptool_py/esptool/esptool.py erase_region 0x9000 0x6000
```
### Bluetooth Pairing Request during provisioning
ESP-IDF now has functionality to enforce link encryption requirement while performing GATT write on characteristics of provisioning service. This will however result in a pairing pop-up dialog, if link is not encrypted. This feature is disabled by default. In order to enable this feature, please set `CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y` in the sdkconfig or select the configuration using "idf.py menuconfig" .
```
Component Config --> Wi-Fi Provisioning Manager --> Force Link Encryption during Characteristic Read/Write
```
Recompiling the application with above changes should suffice to enable this functionality.
### Unsupported platform
If the platform requirement, for running `esp_prov` is not satisfied, then the script execution will fallback to console mode, in which case the full process (involving user inputs) will look like this :