TLS protocol & Mbed Device Connector Server #298
Description
Target: server device connector?
boards:
-
NUCLEO_F429ZI as border router (nanostack-border-router repository)
nanostack-border-router (4729a32fcb58)
|- drivers\TARGET_MCUXpresso_MCUS\sal-nanostack-driver-k64f-eth (061aac878ce0)
|- drivers\TARGET_NUCLEO_F429ZI\sal-nanostack-driver-stm32-eth (dc3e4672e515)
|- drivers\atmel-rf-driver (0ae76ce17ae5)
|- drivers\mcr20a-rf-driver (d5905fefa54c)
|- drivers\sal-stack-nanostack-slip (4a600894da85)
|- drivers\stm-spirit1-rf-driver (eb0a0e9016d4)
`- mbed-os (ed9d1da9dd0c) -
NUCLEO_F429ZI as client OR our board (mbed-os-example-client repository)
mbed-os-sensor-node (ee0ba2a)
|- easy-connect (211cdf2bfa33)
| |- atmel-rf-driver (0ae76ce17ae5)
| |- esp8266-driver (ebc1fbd0b53a)
| |- ESP8266\ATParser (77734ee44a63) | |- mcr20a-rf-driver (d5905fefa54c) |
- stm-spirit1-rf-driver (cb5f1e808ee9)
|- mbed-client (31e5ce203cc0)
| |- mbed-client-c (ecfa619e42b2)
| |- mbed-client-classic (4e66929607c3)
|- mbed-client-mbed-tls (7e1b6d815038) |- mbed-os (aa7b9cff3e3d)
- pal (60ce64d5ec35)
In these days I tested the network using a sniffer over the ethernet cable.
We have resolved an important issue to the ethernet driver and the initial connection to the server is more stable see #266
But, I want show you all this weird case that occur often.
The client and the border router are NUCLEO_F429ZI boards, but happen even with our board.
Internet router wired.
When the client tries to connect to the mbed device connector is used the TLS handshake protocol
After the server sends the messages "Server Hello", "Certificate",.... "Server Hello Done"
The client sends correctly its packets "Client Key Exchange",... "Finished" but often the server resend the messages "Server Hello".... "Server Hello Done" instead of "Change Cipher Spec"
So the client resend packets "Client Key Exchange",... "Finished" and then after this second time, the server sends the final packets for the connection.
Here the sniffed packets for this case:
Packets from #129 to #133 are sent for the second time:
Is there a timeout problem from the server? The client needs about 5-6 seconds in order to create the certificate and send it to the server.
Any idea? Please, could you help me to understand what happen?
Thank you