Hi,
I need to implement SSL connection for IoT purposes on STM Nucleo. I have generated project in CubeMX with lwIP stack and mbedTLS(2.4.0) libraries. I’m trying to connect to the server, so I have used ssl_client1 example. But there is a problem in the SSL handshake. I’m not so experienced in SSL and mbedTLS so after trying what can I do, I have to give up. Can you please help me? I’m sorry if I have overlooked something.
Here is log from my attempt:
. Seeding the random number generator… ok
. Loading the CA root certificate … ok (1 skipped)
. Connecting to tcp/iotlorawan.azurewebsites.net/443… ok
. Setting up the SSL/TLS structure… ok
. Performing the SSL/TLS handshake…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:6335: => handshake
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:3279: client state: 0
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2416: => flush output
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2428: <= flush output
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:3279: client state: 1
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2416: => flush output
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2428: <= flush output
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0717: => write client hello
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0755: client hello, max version: [3:3]
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0693: client hello, current time: 0
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0764: dumping ‘client hello, random bytes’ (32 bytes)
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0764: 0000: 00 00 00 00 71 e2 b7 e8 a9 fa 9c 25 d4 63 4f 5b …q…%.cO[
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0764: 0010: ad d8 51 07 1e 34 6a 1c 02 ab a8 22 82 55 a2 f7 …Q…4j…“.U…
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0817: client hello, session id len.: 0
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0818: dumping ‘client hello, session id’ (0 bytes)
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0885: client hello, add ciphersuite: c02c
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0885: client hello, add ciphersuite: c02b
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0918: client hello, got 3 ciphersuites
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0949: client hello, compress len.: 1
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0951: client hello, compress alg.: 0
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0178: client hello, adding signature_algorithms extension
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0263: client hello, adding supported_elliptic_curves extension
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:0326: client hello, adding supported_point_formats extension
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:1023: client hello, total extension length: 38
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2701: => write record
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2838: output record: msgtype = 22, version = [3:1], msglen = 89
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2841: dumping ‘output record sent to network’ (94 bytes)
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2841: 0000: 16 03 01 00 59 01 00 00 55 03 03 00 00 00 00 71 …Y…U…q
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2841: 0010: e2 b7 e8 a9 fa 9c 25 d4 63 4f 5b ad d8 51 07 1e …%.cO[…Q…
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2841: 0020: 34 6a 1c 02 ab a8 22 82 55 a2 f7 00 00 06 c0 2c 4j…”.U…,
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2841: 0030: c0 2b 00 ff 01 00 00 26 00 0d 00 12 00 10 06 03 .+…&…
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2841: 0040: 06 01 05 03 05 01 04 03 04 01 03 03 03 01 00 0a …
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2841: 0050: 00 06 00 04 00 18 00 17 00 0b 00 02 01 00 …
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2416: => flush output
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2435: message length: 94, out_left: 94
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2441: ssl->f_send() returned 94 (-0xffffffa2)
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2460: <= flush output
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2850: <= write record
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:1049: <= write client hello
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:3279: client state: 2
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2416: => flush output
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2428: <= flush output
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:1410: => parse server hello
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:3728: => read record
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2208: => fetch input
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2366: in_left: 0, nb_want: 5
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2390: in_left: 0, nb_want: 5
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:2391: ssl->f_recv(_timeout)() returned -80 (-0x0050)
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:3789: mbedtls_ssl_fetch_input() returned -80 (-0x0050)
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:3734: mbedtls_ssl_read_record_layer() returned -80 (-0x0050)
…/Middlewares/Third_Party/mbedTLS/library/ssl_cli.c:1416: mbedtls_ssl_read_record() returned -80 (-0x0050)
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:6345: <= handshake
failed
! mbedtls_ssl_handshake returned -0x50
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:7055: => free
…/Middlewares/Third_Party/mbedTLS/library/ssl_tls.c:7120: <= free