Hi,
I got RabbitMQ 3.6.1 running on a Windows Server 2012 with ERL 18.3. On that same machine is also a client application running that uses the .NET client (latest version). That client can connect using TLS 1.2. But I have client applications that run on older operating systems (e.g. Windows Server 2008 SP2) which only support TLS1. So I changed the RabbitMQ client to specify TLS1 in the SSL settings of the ConnectionFactory. My rabbitmq server config file is also set up to allow TLS1. But that same client app that used TLS1.2 before cannot connect anymore using TLS1.
I am running SSL on port 5672.
I ran "openssl s_client -connect
127.0.0.1:5672 -tls1_2" and "openssl s_client -connect
127.0.0.1:5672 -tls1". The former produces a lengthy output showing my cert details etc. The latter shows CONNECTED(00000134)
4108:error:1409442F:SSL routines:ssl3_read_bytes:tlsv1 alert insufficient security:.\ssl\s3_pkt.c:1472:SSL alert number 71
4108:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:.\ssl\s3_pkt.c:656:
I already checked if Erlang is supporting TLS1. ssl_versions() shows
[{ssl_app,"7.3"},
{supported,['tlsv1.2','tlsv1.1',tlsv1]},
{available,['tlsv1.2','tlsv1.1',tlsv1,sslv3]}]
My rabbitmq config is:
[
{ssl, [{versions, ['tlsv1.2', 'tlsv1.1', tlsv1]}]},
{rabbit, [
{tcp_listeners, []},
{ssl_listeners, [5672]},
{ssl_options, [{cacertfile,"path/CA.pem"},
{certfile, "path/cert.pem"},
{keyfile,"path/key.pem"},
{verify,verify_peer},
{fail_if_no_peer_cert,true}]},
{ssl_handshake_timeout, 30000},
{disk_free_limit, 1000000000}
]}
].
Does anyone know what is going on? I thought based on the documentation that I should be able to force RabbitMQ to accept TLS1 connections. In the log, I get "insufficient security" errors.
Thanks for any help!
Wolfgang