Ошибка рукопожатия SSL в Java 8 от клиента amqp к серверу rabbitmq
Пожалуйста, прочитайте контекст из предыдущего поста. Эта проблема решена. Повторное создание очереди и повторное подключение к rabbitMQ
Сейчас я пытаюсь настроить ssl-соединение между сервером rabbitmq и клиентом кролика. Я использую весенний ботинок с весенним облачным автобусом. Без SSL все работает идеально.
- Использовал это для запуска клиента java rabbit.
> Версии
Java 1.8
spring-cloud-starter-bus-amqp => 1.3.1. РЕЛИЗ
Spring boot parent => 1.5.9.RELEASE
sudo java -Djavax.net.debug = all -Dhttps.protocols = TLSv1 -jar target / rabbit-client-0.0.1-SNAPSHOT.jar
попробовал -Dhttps.cipherSuites=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, а также
- Я использовал приведенную ниже команду, и она работает с результатом как Verified [ok]. Это говорит мне о том, что сервер rabbitmq правильно настроен с сертификатами.
openssl s_client -connect my.rabbitmq.com:5671 -cert nonprod.crt -key nonprod.key -CAfile nonprod-chain.crt -tls1 -prexit
- Я могу зайти на портал rabbitmq managemnet из браузера Chrome, и он доверяет сертификату, так как я добавил его, доверяя цепочке для ключей.
- Я добавил сертификат и сертификат CA в хранилище ключей Java и доверял ему.
- Клиент Amqp не может установить соединение и не работает с включенным SSL.
Ссылка для просмотра ошибок и журналов отладки
Это то, что я считаю, может быть проблемой, но не уверен.
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLSv1.1 появляется в списке неподдерживаемых шифров и может быть сервер rabbitmq запрашивает это как набор шифрования.
1 ответ
Проблема заключалась в том, что Erlang OTP отклонял сертификат как неверный сертификат из-за неправильных полей использования ключа. следуйте этим инструкциям для создания сертификатов. http://erlang.org/documentation/doc-5.7.4/lib/ssl-3.10.7/doc/html/pkix_certs.html