1 Reply Latest reply on Mar 24, 2020 10:51 PM by RaktimR_11

    Integrating wolfSSL with WICED


      Hello all,


      The motive is to integrate wolfSSL library to implement Secure Bootloader on WICED.


      Already done:

      • Downloaded the application code on the external FLASH using the build script: "snip.pers-BCM943909WCD1_3.B1-ThreadX-NetX_Duo-debug ota2_download"
      • Debugging "ota2_bootloader.c" using build script: "waf.ota2_bootloader-NoOS-NoNS-BCM943909WCD1_3"
      • Included wolfSSL folders (wolfcrypt, wolfssl and src) in the path: \43xxx_Wi-Fi\libraries\filesystems\ota2
      • Defined wolfSSL library related Macros in "user_setting.h" [Path: \43xxx_Wi-Fi\libraries\filesystems\ota2\wolfssl\user_settings.h ]to port wolfSSL source code and to enable features of the wolfSSL library in the WICED.
      • Globally defined "WOLFSSL_USER_SETTINGS" and "WC_RSA_BINDING" symbols in "ota2.mk" file [Path: \43xxx_Wi-Fi\libraries\filesystems\ota2\ota2.mk]
      • Using wolfSSL APIs in "wiced_ota2_image_extract()" [Path: \43xxx_Wi-Fi\libraries\filesystems\ota2\wiced_ota2_image.c]
      • Successfully generated HASH value using wolfSSL APIs: wc_InitSha256(),wc_Sha256Update() or wc_Sha256Final(). Being able to debug the APIs as well to understand the program flow.


      The issue being faced at the moment is that while using "ParseCert()" API in "wiced_ota2_image_extract()" function, the behavior of the code changes. By that, I mean to say while debugging, the debugger doesn't even hit "wiced_ota2_image_extract()" function, let alone hitting the "ParseCert()" API inside. Although a breakpoint is given on the function call of "wiced_ota2_image_extract()" function in "ota2_bootloader.c", the breakpoint is skipped, and the program jumps to the line: "if (result != WICED_SUCCESS)".


      Kindly help me out to successfully integrate wolfSSL with WICED.