2017-04-06 92 views
0

我试图使用SSL进行连接,服务器上启用了SSL,但我无法使用rabbitmq-c客户端进行连接。rabbitmq-c SSL对等证书验证失败

我拿了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

如果将'-verify'标志传递给'openssl s_client'命令会发生什么? – alanxz

回答

0

我发现有什么问题,我的CA文件缺少中间证书。 可能openssl s_client默认情况下忽略了这个。

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

相关问题