2017-04-06 91 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庫建立連接。

相關問題