Is TLS1.2/1.3 supported for mutual TLS on Windows? #471
-
My windows client runs MQTT with mutual TLS against a dockerized mosquitto server (eclipse-mosquitto:2.0-openssl). Now windows clients return "AWS IoT connect failed with error: AWS_IO_TLS_ERROR_NEGOTIATION_FAILURE: TLS (SSL) negotiation failed" with reason "SEC_E_ALGORITHM_MISMATCH". This issue only happens on Windows, not on Linux. My assumption is the minimum TLS version has changed on the server, and the client needs to set the min_tls_ver in tls_ctx_options, however doing so has no effect. Is aws-c-io compiled with TLS1.2 enabled? If not are there other configuration issues that could cause "SEC_E_ALGORITHM_MISMATCH"? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
My understanding is that AWS IoT Core requires a minimum of tls 1.2 presently. I am able to successfully run MQTT samples on a Windows machine (and our CI passes on Windows platforms) using the published CRT module (not a local build). I also looked at the TLS handshake in wireshark and it is indeed tls1.2 |
Beta Was this translation helpful? Give feedback.
-
Odd, then I'm not sure why it doesn't work against the eclipse-mosquitto:2.0-openssl container. According to openssl, SECLEVEL=2 requires RSA keys >=2048, TLS >= 1.2. Our RSA key is 2048 bits, that's why I presumed TLS version was the issue. |
Beta Was this translation helpful? Give feedback.
My understanding is that AWS IoT Core requires a minimum of tls 1.2 presently. I am able to successfully run MQTT samples on a Windows machine (and our CI passes on Windows platforms) using the published CRT module (not a local build). I also looked at the TLS handshake in wireshark and it is indeed tls1.2