我們與外部站點的安全 SMTP 連接于 4 月 22 日開始失敗。錯誤訊息表明證書鏈中的某處存在問題。
[java:java:ERR /1:to_RHIO_direct_0:--/--/---- --:--:--] org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not convert socket to TLS;
[java:java:ERR /1:to_RHIO_direct_0:--/--/---- --:--:--] nested exception is:
[java:java:ERR /1:to_RHIO_direct_0:--/--/---- --:--:--] javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path building failed: com.ibm.security.cert.IBMCertPathBuilderException: unable to find valid certification path to requested target. Failed messages: javax.mail.MessagingException: Could not convert socket to TLS;
我們先建立連接,然后發出 Start TLS。這已經作業了兩年多沒有問題。兩年前,也許是 27 個月前,我們遇到了類似的問題 - 日志中出現同樣的例外。我沒有保留該問題的記錄,但我記得數字證書的到期日期是未來一周 - 也就是說,它應該在由于到期而出現任何問題之前再作業一周。所以上次我們拿到了新的證書,問題就解決了。所以這一次,我觀察到了同樣的情況。該證書的有效期為 2022 年 4 月 29 日:
Keystore type: jks
Keystore provider: IBMJCE
Your keystore contains 2 entries
Alias name: (identifying information removed)
Creation date: Mar 13, 2020
Entry type: trustedCertEntry
Owner: (identifying information removed)
Issuer: CN=DigiCert SHA2 Secure Server CA, O=DigiCert Inc, C=US
Serial number: (identifying information removed)
Valid from: 2/27/20 7:00 PM until: 4/29/22 8:00 AM
所以有人可能會說,這只是巧合,證書還有一周的有效期,問題肯定來自其他地方。好吧,昨天供應商給我發送了相同證書的更新版本,當我將其添加到信任庫時,連接已成功建立。因此,我所做的唯一更改是更換證書。可能是鏈中更高的 CA 存在問題?我收到的證書參考了鏈中更高版本的 CA 嗎?我能想到的就這么多。。但很奇怪,同樣的情況發生了兩次,而且兩次的解決方案都是更換尚未過期的證書。還有其他解釋嗎?謝謝
uj5u.com熱心網友回復:
可能是鏈中更高的 CA 存在問題?我收到的證書參考了鏈中更高版本的 CA 嗎?
可能是的。通常沒有“證書”,而是“證書鏈”。您展示的只是鏈中的最終證書。如果該鏈中的任何一個證書于 22 年 4 月 22 日到期,那么,您就有了答案。
或者,您的服務器的時鐘當然有可能嚴重關閉(7 天)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/466534.html
上一篇:云在RESTAPI上運行外部請求期間出現SSL錯誤-DOCKER
下一篇:撰寫此方法的最有效方法是什么?
