我正在尝试使用 SSL 进行连接,服务器上启用了 SSL,但我无法使用 rabbitmq-c 客户端进行连接。
我拿了amqps_connect_timeout.c示例,这是我在 amqp_socket_open_noblock 遇到的错误。
SSL 对等证书验证失败
当使用 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);
我做错了什么?
最佳答案
我发现问题所在,我的 CA 文件缺少中间证书。 可能 openssl s_client 默认忽略了这一点。
修复 cacert 文件后,从 rabbitmq-c 库建立了连接。
关于c - rabbitmq-c SSL 对等证书验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43256606/