在 Java SE 17 中,依預設,現在會限制使用 SHA-1 演算法簽署的 JAR,如同它們未簽署一樣。 這適用於用來對 JAR 進行摘要、簽署及選擇性地加上時間戳記的演算法。 它也適用於程式碼簽章者和「時間戳記管理中心」之憑證鏈中憑證的簽章和摘要演算法,以及用來驗證那些憑證是否已撤銷的任何 CRL 或 OCSP 回應。
為了降低先前已時間戳記或使用專用 CA 之應用程式的相容性風險,此原則有兩個異常狀況:
這些異常狀況可能在未來的 JDK 版本中移除。
SHA-1 不再視為安全,且不應使用。 使用者可以透過修改 java.security 配置檔 (或使用 java.security.properties 系統內容置換它) ,並從 jdk.certpath.disabledAlgorithms 安全內容中移除 SHA1 jdkCA & 用法 SignedJAR & denyAfter 2019-01-01 ,以及從 jdk.jar.disabledAlgorithms 安全內容中移除 SHA1 jdkCA & denyAfter 2019-01-01 ,自行承擔移除這些限制的風險。
如需此限制的相關資訊,請參閱 停用 SHA-1 簽署 JAR。