Rabbitmq-c "SSL peer cert verification failed"

Rabbitmq-c "SSL peer cert verification failed"

我正在尝试使用 SSL 连接到 RabbitMQ 服务器,但出现此错误 "SSL peer cert verification failed"。

我使用 openssl 检查证书,如下所示: openssl s_client -connect host:port -CAfile cacert.pem

并获得 "Verify return code: 0 (ok)" 所以我相信证书没问题。

我正在尝试使用 here 中的 amqps_bind.c 示例。

我只需要服务器验证,所以我删除了 amqp_ssl_socket_set_key()。

代码在 amqp_socket_open() 中失败。

我还有一个 C# 代码可以使用 SSL 连接到同一台服务器而不会出现任何错误。

我找到了我的问题。

我提供的cacert.pem文件就是所有的证书链。

仅提取根证书后,我可以连接到服务器。

除此之外,还要检查 rabbitmq.config

中的以下配置
{verify,verify_peer},
{fail_if_no_peer_cert,true}]},

如果您不想验证对等方,请将其更改为以下内容

 {verify,verify_none},
 {fail_if_no_peer_cert,false}]},