0

我正在尝试使用 SSL 进行连接,在服务器上启用了 SSL,但我无法使用 rabbitmq-c 客户端进行连接。

我以amqps_connect_timeout.c为例,这是我在 amqp_socket_open_noblock 遇到的错误。

SSL peer cert verification failed

使用 OpenSSL 时,连接和验证成功。

openssl verify -CAfile cacert.pem cert.pem
cert.pem: OK

openssl s_client -connect www.example.com:25586 -CAfile cacert.pem
Verify return code: 0 (ok)

如果我禁用证书验证,则连接成功。

amqp_ssl_socket_set_verify_peer(socket, 0);

我究竟做错了什么?

4

1 回答 1

0

我发现出了什么问题,我的 CAfile 缺少中间证书。默认情况下,openssl s_client 可能会忽略这一点。

修复 cacert 文件后,从 rabbitmq-c 库建立了连接。

于 2017-04-10T14:24:11.337 回答