繁体   English   中英

从amqp客户端到Rabbitmq服务器的Java 8 SSL握手失败

[英]Java 8 SSL handshake failure from amqp client to rabbitmq server

请阅读上一篇文章的内容。 该问题已解决。 重新创建队列并重新连接到rabbitMQ

现在,我正在尝试在Rabbitmq服务器和Rabbit客户端之间设置启用ssl的连接。 我正在将Spring Boot与Spring Cloud Bus一起使用。 没有SSL,一切都会完美无缺。

  • 用于运行Java Rabbit客户端。

>版本

Java 1.8

spring-cloud-starter-bus-amqp => 1.3.1发布

Spring Boot父=> 1.5.9.RELEASE

须藤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

  • 我在下面的命令中使用了它,其结果与“已验证” [确定]相同。 这告诉我,rabbitmq服务器已使用证书正确配置。
 openssl s_client -connect my.rabbitmq.com:5671 -cert nonprod.crt -key nonprod.key -CAfile nonprod-chain.crt -tls1 -prexit 
  • 我可以从Chrome浏览器访问rabbitmq managemnet门户,它信任证书,因为我将其添加为钥匙串信任。
  • 我已将证书和CA证书添加到Java密钥存储区并信任它。
  • Amqp客户端无法建立连接,并且在启用SSL的情况下失败。

链接以查看错误和调试日志

参见以下故障。

我认为这可能是问题,但不确定。

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLSv1.1出现在不受支持的密码列表中,可能是Rabbitmq服务器要求作为加密套件。

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384不支持???

问题是Erlang OTP由于无效的密钥用法字段将证书拒绝为不良证书。 请遵循以下准则来创建证书。 http://erlang.org/documentation/doc-5.7.4/lib/ssl-3.10.7/doc/html/pkix_certs.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM