我正在尝试使用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);
我做错了什么?
答案 0 :(得分:0)
我发现错误,我的CAfile缺少中间证书。 可能openssl s_client默认忽略了这一点。
修复cacert文件后,从rabbitmq-c库建立了连接。