Ошибка рукопожатия 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 запрашивает это как набор шифрования.

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 не поддерживается

1 ответ

Проблема заключалась в том, что Erlang OTP отклонял сертификат как неверный сертификат из-за неправильных полей использования ключа. следуйте этим инструкциям для создания сертификатов. http://erlang.org/documentation/doc-5.7.4/lib/ssl-3.10.7/doc/html/pkix_certs.html

Другие вопросы по тегам