SSL 握手警報:升級到Java 1.7.0 後出現「Unrecognized_Name」錯誤
升級到Java 1.7 後,使用者遇到了建立建立了建立HTTPS 連線時出現「unrecognized_name」錯誤。此問題源自於 Java 7 中引入的伺服器名稱指示 (SNI) 支持,預設為啟用。
原因
某些配置錯誤的伺服器會發出「無法辨識的名稱」 SSL 握手時發出警告。不幸的是,Java 是少數無法忽略此警告的用戶端之一。
解決方法
要解決此問題,使用者可以使用以下方法停用 SNI 支援:
java -Djsse.enableSNIExtension=false yourClass
或者,他們可以在 Java中設定屬性代碼:
System.setProperty("jsse.enableSNIExtension", "false");
注意:必須在執行任何SSL 操作之前設定此屬性,因為之後更改它不會對SNI 狀態產生影響。
SNI 混合解決方案保留
如果完全停用SNI 不可行,請考慮以下混合方法:
以上是為什麼升級到 Java 1.7 後會收到「Unrecognized_Name」SSL 握手警報?的詳細內容。更多資訊請關注PHP中文網其他相關文章!