This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/EK-TM4C129EXL: TI-RTOS HTTPS Example not working with WolfSSL 4.0.0 or 3.15.7

Part Number: EK-TM4C129EXL
Other Parts Discussed in Thread: SYSBIOS, TM4C1294NCPDT

Tool/software: TI-RTOS

Hi

I am using CCSv7, TI-RTOS for TivaC 2.16.01.14, XDCtools v 3.32.0.06_core and Compiler ti-cgt-arm_18.12.2.LTS.

I'm trying to get HTTPSGET example working. 

I followed all the steps for build and include path and file as stated here http://processors.wiki.ti.com/index.php?title=Using_wolfSSL_with_TI-RTOS

After I build the project I'm getting these 2 errors on both versions of WolfSSL. I tried  4.0.0 and 3.15.7

**** Build of configuration Debug for project httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT ****

"C:\\ti2\\ccsv7\\utils\\bin\\gmake" -k -j 8 all -O
making ../src/sysbios/sysbios.aem4f ...
gmake[1]: Nothing to be done for 'all'.
'Building file: ../httpsget.c'
'Invoking: ARM Compiler'
"C:/ti2/ccsv7/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/wolfssl/wolfssl-3.15.7-stable" --include_path="C:/ti/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b" --include_path="C:/Users/drai/Documents/my_workspace/httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT" --include_path="C:/ti/tirtos_tivac_2_16_01_14/products/ndk_2_25_00_09/packages/ti/ndk/inc/bsd" --include_path="C:/Users/drai/Documents/my_workspace/httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT" --include_path="C:/ti/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/sysbios/posix" --include_path="C:/ti2/ccsv7/tools/compiler/ti-cgt-arm_18.12.2.LTS/include" --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=NET_NDK --define=WOLFSSL_TIRTOS --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="httpsget.d_raw" --cmd_file="configPkg/compiler.opt" "../httpsget.c"
'Finished building: ../httpsget.c'
' '
'Building file: ../EK_TM4C1294XL.c'
'Invoking: ARM Compiler'
"C:/ti2/ccsv7/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/wolfssl/wolfssl-3.15.7-stable" --include_path="C:/ti/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b" --include_path="C:/Users/drai/Documents/my_workspace/httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT" --include_path="C:/ti/tirtos_tivac_2_16_01_14/products/ndk_2_25_00_09/packages/ti/ndk/inc/bsd" --include_path="C:/Users/drai/Documents/my_workspace/httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT" --include_path="C:/ti/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/sysbios/posix" --include_path="C:/ti2/ccsv7/tools/compiler/ti-cgt-arm_18.12.2.LTS/include" --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=NET_NDK --define=WOLFSSL_TIRTOS --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="EK_TM4C1294XL.d_raw" --cmd_file="configPkg/compiler.opt" "../EK_TM4C1294XL.c"
'Finished building: ../EK_TM4C1294XL.c'
' '
making ../src/sysbios/sysbios.aem4f ...
gmake[2]: Nothing to be done for 'all'.
'Building target: httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT.out'
'Invoking: ARM Linker'
"C:/ti2/ccsv7/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=NET_NDK --define=WOLFSSL_TIRTOS --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT.map" --heap_size=0 --stack_size=512 -i"C:/ti2/ccsv7/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib" -i"C:/ti2/ccsv7/tools/compiler/ti-cgt-arm_18.12.2.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT_linkInfo.xml" --rom_model -o "httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT.out" "./EK_TM4C1294XL.obj" "./httpsget.obj" "../EK_TM4C1294XL.cmd" -l"configPkg/linker.cmd" -l"C:/ti/wolfssl/wolfssl-3.15.7-stable/tirtos/packages/ti/net/wolfssl/lib/wolfssl.aem4f" -l"C:/ti/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b/grlib/ccs/Debug/grlib.lib" -l"C:/ti/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b/usblib/ccs/Debug/usblib.lib" -l"C:/ti/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b/driverlib/ccs/Debug/driverlib.lib" -llibc.a
<Linking>

undefined first referenced
symbol in file
--------- ----------------
wolfTLSv1_client_method C:\ti\tirtos_tivac_2_16_01_14\products\ns_1_11_00_10\packages\ti\net\lib\network_ndk_wolfssl.aem4f<tls_wolfssl.oem4f>
wolfTLSv1_server_method C:\ti\tirtos_tivac_2_16_01_14\products\ns_1_11_00_10\packages\ti\net\lib\network_ndk_wolfssl.aem4f<tls_wolfssl.oem4f>

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT.out" not built

>> Compilation failure
makefile:146: recipe for target 'httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT.out' failed
gmake[1]: *** [httpsget_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT.out] Error 1
makefile:142: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

the highlighted errors are present in both the versions.

Can anyone help me with this?

I also found a similar post here https://e2e.ti.com/support/microcontrollers/other/f/908/t/693291

because of that I tried a older version of SSL but still no success.

Regards,

Deepak

  • Hi Deepak,

    We only validated against WolfSSL 3_8_0_01. You should contact WolfSSL to see if you can get that version or have them help with this issue.

    Todd

  • So if I try WolfSSL 3_8_0_01 will it work?

    Deepak

  • Hi Todd,

    I worked. I was able to compile successfully but I get a runtime error.

    s in flash
    Starting the HTTPS GET example
    System provider is set to SysMin. Halt the target to view any SysMin contents in ROV.
    Service Status: DHCPC : Enabled : : 000
    Service Status: DHCPC : Enabled : Running : 000
    Network Added: If-1:192.168.10.118
    Service Status: DHCPC : Enabled : Running : 017
    Current time: Fri Jun 7 16:16:14 2019

    Sending a HTTPS GET request to 'www.example.com:443'
    Error! code = -103, desc = httpsTask: send failed

    this is what I'm getting. Any idea what might be going wrong?

    Deepak

  • Todd,

    Thank you for the update. I already downloaded the cert from that website but I didn't know that i need to change the HOSTNAME.

    Is there anything else that I need to change because I'm getting an error like this

    s in flash
    Starting the HTTPS GET example
    System provider is set to SysMin. Halt the target to view any SysMin contents in ROV.
    Service Status: DHCPC : Enabled : : 000
    Service Status: DHCPC : Enabled : Running : 000
    Network Added: If-1:192.168.10.118
    Service Status: DHCPC : Enabled : Running : 017
    Current time: Fri Jun 7 18:52:17 2019

    Sending a HTTPS GET request to 'https://ev-root.chain-demos.digicert.com'
    Error! code = 400, desc = httpsTask: cannot get status

    And also I dont know if you noticed but the current time is also not correct from the NTP.

    Deepak

  • Hi Deepak,

    Could you share the exact certificate string as it is written in your httpsget.c file? The uint8_t ca[] value around line 73. It may be formatted incorrectly.

    The time from the NTP may be reported in UTC time. That may account for any inconsistencies you see.

    Thanks,

    Brandon

  • Hi Brandon,

    The time from NTP is in GMT so I dont think thats an issue.

    Here's the value that you asked for

    uint8_t ca[] =
    "MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs\
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\
    d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\
    ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL\
    MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\
    LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\
    RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm\
    +9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW\
    PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM\
    xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB\
    Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3\
    hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg\
    EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF\
    MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA\
    FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec\
    nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z\
    eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF\
    hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2\
    Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe\
    vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep\
    +OkuE6N36B9K";

    Deepak

  • Cool,

    Try formatting it like this:

    "-----BEGIN CERTIFICATE-----\r\n"
    "MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs\r\n"
    "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\n"
    "d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\r\n"
    "ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL\r\n"
    "MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\r\n"
    "LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\r\n"
    "RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm\r\n"
    "+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW\r\n"
    "PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM\r\n"
    "xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB\r\n"
    "Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3\r\n"
    "hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg\r\n"
    "EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF\r\n"
    "MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA\r\n"
    "FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec\r\n"
    "nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z\r\n"
    "eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF\r\n"
    "hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2\r\n"
    "Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe\r\n"
    "vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep\r\n"
    "+OkuE6N36B9K\r\n"
    "-----END CERTIFICATE-----";

    Brandon

  • Brandon,

    Changing the format of the certificate like this is giving a TLS Create failed error which is due to incorrect format of the certificate.

    s in flash
    Starting the HTTPS GET example
    System provider is set to SysMin. Halt the target to view any SysMin contents in ROV.
    Service Status: DHCPC : Enabled : : 000
    Service Status: DHCPC : Enabled : Running : 000
    Network Added: If-1:192.168.10.69
    Service Status: DHCPC : Enabled : Running : 017
    Current time: Mon Jun 10 13:46:22 2019

    Sending a HTTPS GET request to 'ev-root.chain-demos.digicert.com'
    Error! code = -1, desc = httpsTask: TLS create failed

    And if I change it back I dont get the TLS create error but I still get httpsTask: cannot get status error.

    Deepak

  • Hi Todd,

    I made the changes you suggested but still the httpsget example is not working correctly.

    The only change in the example code made by me is the HOSTNAME and Certificate. But still I'm getting an error.

    s in flash
    Starting the HTTPS GET example
    System provider is set to SysMin. Halt the target to view any SysMin contents in ROV.
    Service Status: DHCPC : Enabled : : 000
    Service Status: DHCPC : Enabled : Running : 000
    Network Added: If-1:192.168.10.69
    Service Status: DHCPC : Enabled : Running : 017
    Current time: Tue Jun 11 15:28:59 2019

    Sending a HTTPS GET request to 'ev-root.chain-demos.digicert.com'
    Error! code = 400, desc = httpsTask: cannot get status

    Can you help me with this?

    Deepak

  • Hi Deepak,

    I am working to get to the bottom of this and will update you when I have made some progress.

    Best,

    Brandon

  • Hi Brandon,

    I enabled the debug on wolfSSl and this is what I'm getting 

    I hope it helps you.

    s in flash
    Starting the HTTPS GET example
    System provider is set to SysMin. Halt the target to view any SysMin contents in ROV.
    Service Status: DHCPC    : Enabled  :          : 000
    Service Status: DHCPC    : Enabled  : Running  : 000
    Network Added: If-1:192.168.10.69
    Service Status: DHCPC    : Enabled  : Running  : 017
    Current time: Thu Jun 13 19:11:25 2019

    Sending a HTTPS GET request to 'https://ev-root.chain-demos.digicert.com'
    wolfSSL Entering WOLFSSL_CTX_new
    wolfSSL Entering wolfSSL_Init
    wolfSSL Entering wolfSSL_CertManagerNew
    wolfSSL Leaving WOLFSSL_CTX_new, return 0
    wolfSSL Entering wolfSSL_CTX_load_verify_buffer
    Adding a CA
    wolfSSL Entering GetExplicitVersion
    wolfSSL Entering GetMyVersion
    Got Cert Header
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    Got Algo ID
    Getting Cert Name
    Getting Cert Name
    Got Subject Name
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    Got Key
    Parsed Past Key
    wolfSSL Entering DecodeCertExtensions
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeKeyUsage
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeBasicCaConstraint
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeSubjKeyId
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeAuthKeyId
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
        Parsed new CA
        Freeing Parsed CA
        Freeing der CA
            OK Freeing der CA
    wolfSSL Leaving AddCA, return 0
    wolfSSL Entering SSL_new
    wolfSSL Leaving SSL_new, return 0
    wolfSSL Entering SSL_set_fd
    wolfSSL Leaving SSL_set_fd, return 1
    wolfSSL Entering wolfSSL_send()
    wolfSSL Entering SSL_write()
    handshake not complete, trying to finish
    wolfSSL Entering wolfSSL_negotiate
    wolfSSL Entering SSL_connect()
    growing output buffer

    Shrinking output buffer

    connect state: CLIENT_HELLO_SENT
    growing input buffer

    received record layer msg
    wolfSSL Entering DoHandShakeMsg()
    wolfSSL Entering DoHandShakeMsgType
    processing server hello
    wolfSSL Entering VerifyClientSuite
    wolfSSL Leaving DoHandShakeMsgType(), return 0
    wolfSSL Leaving DoHandShakeMsg(), return 0
    growing input buffer

    received record layer msg
    wolfSSL Entering DoHandShakeMsg()
    wolfSSL Entering DoHandShakeMsgType
    processing certificate
    Loading peer's cert chain
        Put another cert into chain
        Put another cert into chain
    wolfSSL Entering GetExplicitVersion
    wolfSSL Entering GetMyVersion
    Got Cert Header
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    Got Algo ID
    Getting Cert Name
    Getting Cert Name
    Got Subject Name
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    Got Key
    Parsed Past Key
    wolfSSL Entering DecodeCertExtensions
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeBasicCaConstraint
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeKeyUsage
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeExtKeyUsage
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeAuthInfo
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeCrlDist
    wolfSSL Entering GetObjectId()
    Certificate Policy extension not supported yet.
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeSubjKeyId
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeAuthKeyId
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    About to verify certificate signature
    Adding CA from chain
    Adding a CA
    wolfSSL Entering GetExplicitVersion
    wolfSSL Entering GetMyVersion
    Got Cert Header
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    Got Algo ID
    Getting Cert Name
    Getting Cert Name
    Got Subject Name
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    Got Key
    Parsed Past Key
    wolfSSL Entering DecodeCertExtensions
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeBasicCaConstraint
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeKeyUsage
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeExtKeyUsage
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeAuthInfo
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeCrlDist
    wolfSSL Entering GetObjectId()
    Certificate Policy extension not supported yet.
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeSubjKeyId
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeAuthKeyId
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
        Parsed new CA
        Freeing Parsed CA
        Freeing der CA
            OK Freeing der CA
    wolfSSL Leaving AddCA, return 0
    Verifying Peer's cert
    wolfSSL Entering GetExplicitVersion
    wolfSSL Entering GetMyVersion
    Got Cert Header
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    Got Algo ID
    Getting Cert Name
    Getting Cert Name
    Got Subject Name
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    Got Key
    Parsed Past Key
    wolfSSL Entering DecodeCertExtensions
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeAuthKeyId
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeSubjKeyId
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeAltNames
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeKeyUsage
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeExtKeyUsage
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeCrlDist
        There are more CRL Distribution Point records, but we only use the first one.
    wolfSSL Entering GetObjectId()
    Certificate Policy extension not supported yet.
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeAuthInfo
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetObjectId()
    wolfSSL Entering DecodeBasicCaConstraint
    wolfSSL Entering GetObjectId()
    wolfSSL Entering GetAlgoId
    wolfSSL Entering GetObjectId()
    About to verify certificate signature
    Verified Peer's cert
    wolfSSL Leaving DoHandShakeMsgType(), return 0
    wolfSSL Leaving DoHandShakeMsg(), return 0
    received record layer msg
    wolfSSL Entering DoHandShakeMsg()
    wolfSSL Entering DoHandShakeMsgType
    processing server key exchange
    wolfSSL Leaving DoHandShakeMsgType(), return 0
    wolfSSL Leaving DoHandShakeMsg(), return 0
    received record layer msg
    wolfSSL Entering DoHandShakeMsg()
    wolfSSL Entering DoHandShakeMsgType
    processing server hello done
    wolfSSL Leaving DoHandShakeMsgType(), return 0
    wolfSSL Leaving DoHandShakeMsg(), return 0
    connect state: HELLO_AGAIN
    connect state: HELLO_AGAIN_REPLY
    connect state: FIRST_REPLY_DONE
    connect state: FIRST_REPLY_FIRST
    growing output buffer

    Shrinking output buffer

    sent: client key exchange
    connect state: FIRST_REPLY_SECOND
    connect state: FIRST_REPLY_THIRD
    growing output buffer

    Shrinking output buffer

    sent: change cipher spec
    connect state: FIRST_REPLY_FOURTH
    growing output buffer

    Shrinking output buffer

    sent: finished
    connect state: FINISHED_DONE
    received record layer msg
    got CHANGE CIPHER SPEC
    received record layer msg
    wolfSSL Entering DoHandShakeMsg()
    wolfSSL Entering DoHandShakeMsgType
    processing finished
    wolfSSL Leaving DoHandShakeMsgType(), return 0
    wolfSSL Leaving DoHandShakeMsg(), return 0
    connect state: SECOND_REPLY_DONE
    Shrinking input buffer

    wolfSSL Leaving SSL_connect(), return 1
    wolfSSL Leaving wolfSSL_negotiate, return 1
    growing output buffer

    Shrinking output buffer

    wolfSSL Leaving SSL_write(), return 16
    wolfSSL Leaving wolfSSL_send(), return 16
    wolfSSL Entering wolfSSL_send()
    wolfSSL Entering SSL_write()
    growing output buffer

    Shrinking output buffer

    wolfSSL Leaving SSL_write(), return 48
    wolfSSL Leaving wolfSSL_send(), return 48
    wolfSSL Entering wolfSSL_send()
    wolfSSL Entering SSL_write()
    growing output buffer

    Shrinking output buffer

    wolfSSL Leaving SSL_write(), return 36
    wolfSSL Leaving wolfSSL_send(), return 36
    wolfSSL Entering wolfSSL_send()
    wolfSSL Entering SSL_write()
    growing output buffer

    Embed Send error
        Connection reset
    wolfSSL error occured, error = -308
    wolfSSL Leaving SSL_write(), return 0
    wolfSSL Leaving wolfSSL_send(), return 0
    wolfSSL Entering wolfSSL_send()
    wolfSSL Entering SSL_write()
    output buffer was full, trying to send again
    Embed Send error
        General error
    wolfSSL error occured, error = -308
    wolfSSL Leaving SSL_write(), return 0
    wolfSSL Leaving wolfSSL_send(), return 0
    wolfSSL Entering wolfSSL_send()
    wolfSSL Entering SSL_write()
    output buffer was full, trying to send again

    After this it keeps on printing the same last 8 lines and doesn't stop.

    Deepak

  • Hi Deepak,

    After some more debugging of the 400 response from the server, it seems possible that the wolfSSL library may be improperly negotiating security, or sending a malformed request after encrypting the HTTP request from the client. I would suggest that you contact WolfSSL for support in debugging this further. 

    Best regards,

    Brandon

  • Hi Brandon,

    After lot of days and lot of trial and error methods I fixed the issue.

    As Todd suggested the website for the certificate and the hostname to use have been changed. He told what to use for HOTSNAME and Certificate but the HOSTNAMEneeds to be little different.

    changing my hotname to ev-root.chain-demos.digicert.com:443 fixed the error. 

    Now I'm getting a correct response for my HTTPSGET request.

    Thanks for your help.

    Regards,

    Deepak

  • Interesting. I'm glad to hear you got things working, though!

    Best,

    Brandon