RabbitMQ 3.13.1 with ECDSA and SHA256withECDSA signature Algorithm certificates not working #10971
-
Describe the bugWe want to run RabbitMQ 3.13.1 with ECDSA certificates. We are using ECDSA Certificates on Server and Client (rabbitmq java client 5.21.0) side. After upgrading from 3.12.13 to 3.13.1, the ecdsa support stopped working (using the same certificate and rabbitmq configuration). When we are using the same certificates with RabbitMQ 3.12.13 it works like a charm. We are using the RabbitMQ Docker Image. Docker Image: 3.12.13 (Erlang: 25.3.2.10) -> working Docker Image: 3.13.1 (Erlang: 26.2.2) -> not working When the client side wants to connect to the rabbitmq server we are getting a lot of following error:
Reproduction steps1.Start RabbitMQ 3.13.1 Server with ECDSA and SHA256withECDSA signature Algorithm certificates Expected behaviorRabbitMQ Client can connect with ECDSA and SHA256withECDSA signature Algorithm certificates Additional contextthat is our rabbitmq.conf
|
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
RabbitMQ does not implement TLS, Erlang/OTP does. Not all cipher suites can be used with all protocol versions. There is an example of the most secure combination known (with TLS 1.3 only). There's also a recommended way of testing a TLS setup against a broad range of widely known attacks. We will not be troubleshooting TLS for non-paying users. If we were to do it, here is how we would approach it. Please take it from here or use a commercial support channel if you do pay for support. |
Beta Was this translation helpful? Give feedback.
-
Also note that Erlang 26 changes several defaults and introduces stricter checks around TLS, so maybe it now considers a certain cipher suite not to be compatible with TLS 1.2 where previously it (possibly unintentionally) did. Again, we will not troubleshoot TLS connectivity for non-paying users. |
Beta Was this translation helpful? Give feedback.
-
Hi @michaelklishin , thank you for your answer, We have tested our TLS Setup successfully with the https://testssl.sh, we are also using the recommended TLS 1.2 ciphersuites restriction from the documentation (see above rabbitmq.conf). The used cipher suite is ECDHE-ECDSA-AES256-GCM-SHA384 and it is also part of the supported cipher suites from erlang. We understand that maybe that has nothing to do with rabbitmq, but with the underlining erlang 26.2.2. Thank you anyway for your answer and we will try to find something in the Erlang documentation :) |
Beta Was this translation helpful? Give feedback.
-
it seams that it is an Erlang Issue: erlang/otp#8376 |
Beta Was this translation helpful? Give feedback.
RabbitMQ does not implement TLS, Erlang/OTP does. Not all cipher suites can be used with all protocol versions. There is an example of the most secure combination known (with TLS 1.3 only). There's also a recommended way of testing a TLS setup against a broad range of widely known attacks.
We will not be troubleshooting TLS for non-paying users. If we were to do it, here is how we would approach it. Please take it from here or use a commercial support channel if you do pay for support.