This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How To Add AES128 bit encription in my Application

Dear Nordic Team,

Thanks for supporting.

I want support for AES18bit Encription. Need basic tutorials and how to add my existing code.

Parents Reply Children
  • Thanks for reply. I add AES128 encryption in my application (BLE_UART) both peripheral and central code. Peripheral side working good. But central side facing connection error. 

    0> <info> app: BLE UART central example started.
    0> <info> app: C42CA8A1FD6A
    0> <info> app: ATT MTU exchange completed.
    0> <info> app: Ble NUS max data length set to 0xF4(244)
    0> <info> app: Discovery complete.
    0> <info> app: Connected to device with Nordic UART Service.
    0> <info> peer_manager_handler: Connection security failed: role: Central, conn_handle: 0x0, procedure: Bonding, error: 4352
    0> <warning> peer_manager_handler: Disconnecting conn_handle 0.
    0> <info> app: Disconnected.
    0> <info> app: Erase bonds
    0> <info> peer_manager_handler: All peers deleted.
    0> <error> app: Fatal error

    My SDK 15.2

    Example : ble_app_uart_c and ble_app_uart 

    please support solve this issue.

  • Hi Murugan, 

     Decimal 4352 is 0x1100. The following defines and reasoning for this error in peer_manager_types.h:

    #define PM_CONN_SEC_ERROR_BASE 0x1000  /**< @brief The base for Peer Manager defined errors. See @ref PM_SEC_ERRORS and @ref pm_sec_error_code_t. */
    #define PM_CONN_SEC_ERROR_DISCONNECT         (PM_CONN_SEC_ERROR_BASE + 0x100) /**< @brief Pairing or encryption did not finish before the link disconnected for an unrelated reason. */

    So it looks like the device disconnects before the pairing or encryption procedure completed.

    Can you provide the full log output from the failing device? If you could set NRF_LOG_DEFAULT_LEVEL to 4 in your sdk_config.h file, that should provide more details.

    What device are you testing against?

    Can you provide a sniffer trace between the two devices when trying to perform bonding? You can use nRFSniffer v2 for that.

    This thread might help. 

    -Amanda H.

Related