2017-04-06 5 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 라이브러리에서 연결이 설정되었습니다.

관련 문제