Я пытаюсь подключиться к третьей стороне в основном через CURL / PHP, но, поскольку это не работает, я прибегаю к более подробным инструментам для диагностики проблемы.
Если я попробую следующее, в Ubuntu 14.04 LTS:
openssl s_client -showcerts -connect secure.thirdpartyhost.com:443 -cert production_client.pem -key production_key.pem -CApath /etc/ssl/certs
Это не удается с этой ошибкой:
CONNECTED(00000003)
depth=2 C = US, O = "Entrust, Inc.", OU = See www.entrust.net/legal-terms, OU = "(c) 2009 Entrust, Inc. - for authorized use only", CN = Entrust Root Certification Authority - G2
verify return:1
depth=1 C = US, O = "Entrust, Inc.", OU = See www.entrust.net/legal-terms, OU = "(c) 2012 Entrust, Inc. - for authorized use only", CN = Entrust Certification Authority - L1K
verify return:1
depth=0 C = CA, ST = New York, L = New York, O = ThirdParty, CN = *.thirdpartyhost.com
verify return:1
139647498331808:error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca:s3_pkt.c:1262:SSL alert number 48
139647498331808:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
Это их сервер сигнализирует об ошибке? Что ошибка с ЦС происходит при их проверке?
Спасибо за вашу помощь. Я простой разработчик, ценю помощь мудрейших!
tlsv1 предупреждение неизвестно ca
Сервер не может проверить отправленный вами сертификат клиента, потому что он не находит пути к центру сертификации, которому доверяет сервер.