Ssl
openssl s_client 連接期間出錯,SSL 警報號 48
我正在嘗試主要通過 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:
那是他們的伺服器發出錯誤信號嗎?CA 的錯誤是在驗證期間發生的嗎?
謝謝你的幫助。一個單純的開發者,我感謝那些聰明人的幫助!
tlsv1 警報未知 ca
伺服器無法驗證您發送的客戶端證書,因為它找不到伺服器信任的 CA 的任何路徑。
這些程式碼 - “48” - 在 TLS 規範中定義。例如 RFC 5246 中的第 7.2 節(“警報協議”)。 48 是“unknown_ca”,如前所述,這意味著它無法辨識您的客戶端證書的簽名者。