現在已限制使用 SHA-1 演算法簽署的 JAR

在 Java SE 17 中,依預設現在會限制使用 SHA-1 演算法簽署的 JAR,並將其視為如同未簽署一樣。這適用於用來摘要、簽署及選擇性地時間戳記 JAR 的演算法。它也適用於程式碼簽章者及時間戳記管理中心的憑證鏈中憑證的簽章及摘要演算法,以及用於驗證是否已撤銷這些憑證的任何 CRL 或 OCSP 回應。

為了降低先前已時間戳記或使用專用 CA 之應用程式的相容性風險,此原則有兩個異常狀況:

這些異常狀況可能在未來的 JDK 版本中移除。

SHA-1 已不再視為安全,因此不應使用它。使用者可以透過修改 java.security 配置檔(或使用 java.security.properties 系統內容來置換它),並移除 jdk.certpath.disabledAlgorithms 安全內容中的 SHA1 jdkCA & usage SignedJAR & denyAfter 2019-01-01 以及 jdk.jar.disabledAlgorithms 安全內容中的 SHA1 jdkCA & denyAfter 2019-01-01,自行負責移除這些限制。

如需此限制的相關資訊,請參閱停用 SHA-1 簽署的 JAR