我尝试使用SSL连接到RabbitMQ服务器,但我收到此错误" SSL对等证书验证失败"。
我使用openssl检查证书,如下所示: openssl s_client -connect host:port -CAfile cacert.pem
得到"验证返回码:0(ok)"所以我相信证书还可以。
我试图在here中使用amqps_bind.c示例。
我只需要服务器验证,所以我删除了amqp_ssl_socket_set_key()。
代码在amqp_socket_open()中失败。
我还有一个C#代码可以使用SSL连接到同一台服务器而没有任何错误。
答案 0 :(得分:0)
我找到了我的问题。
我提供的cacert.pem文件是所有证书链。
仅提取根证书后,我可以连接到服务器。
答案 1 :(得分:0)
除此之外,还请在rabbitmq.config中检查以下配置
{verify,verify_peer},
{fail_if_no_peer_cert,true}]},
如果您不想验证对等方,请将其更改为以下内容
{verify,verify_none},
{fail_if_no_peer_cert,false}]},