JAVA 安全性和密碼編譯
重新啟用 TLSv1 和 TLSv1.1
某些舊版系統可能仍然系結至較舊的不安全 TLSv1 和 TLSv1.1 通訊協定。 從 OpenJDK 11.0.11 開始,預設會停用這些通訊協定版本。
若要重新啟用,使用者必須執行下列步驟:
- 在 JDK 的安裝目錄中,流覽至資料夾
./conf/security/
- 開啟 java.security 檔案
- 搜尋組態屬性
jdk.tls.disabledAlgorithms
- 移除專案
TLSv1
和/或TLSv1.1
- 重新開機 JAVA 應用程式
JCA 和 Crypto 的 JCE 提供者
javax.net.ssl.SSLHandshakeException:收到嚴重警示:handshake_failure
需要建立安全連線的應用程式 (例如 HTTPS、SFTP 等) 必須在 JAVA 執行時間上執行,且 JAVA Cryptography Architecture (JCA) 相容安全性提供者。 OpenJDK 專案包含預設實作提供者 - 中的 JAVA 密碼編譯延伸模組 (JCE) - jdk.crypto.ec
。
如果您的應用程式需要建立安全連線,請確定模組 jdk.crypto.ec
包含在組合的 JAVA 執行時間中,或包含協力廠商提供者 (例如 BouncyCastle) 。