首頁 >Java >java教程 >如何修復 Java 中的'java.security.cert.CertificateException:不存在主題備用名稱”錯誤?

如何修復 Java 中的'java.security.cert.CertificateException:不存在主題備用名稱”錯誤?

DDD
DDD原創
2024-11-08 02:18:02985瀏覽

How to Fix the

Java 中的「java.security.cert.CertificateException: No subject Alternative Names Present」錯誤故障排除

連接到🎜>連接到時使用Java 用戶端時,遇到例外「java.security.cert.CertificateException:不存在主題備用名稱」可能會令人沮喪。解決此問題的方法如下:

驗證證書信息

要獲取伺服器的證書詳細信息,請使用命令“openssl s_client -showcerts -connect AAA.BBB. CCC” .DDD:9443 > certs.txt。 」產生的檔案「certs.txt」包含:

  • 證書鏈:識別包含「CN=AAA.BBB.CCC.DDD」的憑證。
  • 伺服器憑證: 提取此證書的「-----BEGIN CERTIFICATE-----」和「-----END CERTIFICATE-----」之間的部分。 >

替代解決方案

關於建議解決方案的第1步:

    單獨提取證書是不正確的;它需要額外的修改。步驟建議的解決方案:
  • 修改證書以包含AAA.BBB.CCC.DDD 需要特定的工具和專業知識,使得此步驟不切實際。

建議方法

考慮以下替代方案:
停用HTTPS 檢查:

  • 實作自訂主機名稱驗證器:
// In the ISomeService class:
static {
    disableSslVerification();
}

private static void disableSslVerification() {
    // ... [Code to disable HTTPS checks as described in the provided answer]
}
    警告:
  • 停用HTTPS 檢查或實作自訂主機名稱驗證器可能會損害安全性。

以上是如何修復 Java 中的'java.security.cert.CertificateException:不存在主題備用名稱”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn