-
CSR
-
Resolution: Approved
-
P2
-
None
-
behavioral
-
low
-
The compatibility risk should be low. Most public CAs have stopped issuing SHA-1 code signing certificates a few years ago. The exceptions to the policy help mitigate the risk of breaking apps that were previously timestamped and may still be in use.
-
System or security property
-
JDK
Summary
Disable JARs signed with algorithms using SHA-1 by default, and treat them as unsigned.
Problem
SHA-1 is a digest algorithm that is no longer recommended.
Solution
JARs signed with SHA-1 algorithms will be disabled by default and treated as if they were unsigned. This applies to the algorithms used to digest, sign, and optionally timestamp the JAR. It also applies to the signature and digest algorithms of the certificates in the certificate chain of the code signer and the Timestamp Authority, and any CRLs or OCSP responses that are used to verify if those certificates have been revoked.
In order to reduce the compatibility risk for applications that have been previously timestamped or use private CAs, there are two exceptions to this policy:
- Any JAR signed with SHA-1 algorithms and timestamped prior to January 01, 2019 will not be restricted.
- Any JAR signed with a SHA-1 certificate that does not chain back to a Root CA included by default in the JDK
cacerts
keystore will not be restricted.
This policy is subject to change and may be made more restrictive.
Specification
The default values of the jdk.certpath.disabledAlgorithms
and jdk.jar.disabledAlgorithms
security properties will be adjusted as follows:
jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \
- RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224
+ RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224, \
+ SHA1 jdkCA & usage SignedJAR & denyAfter 2019-01-01
jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \
- DSA keySize < 1024
+ DSA keySize < 1024, SHA1 jdkCA & denyAfter 2019-01-01
- csr of
-
JDK-8288965 Disable SHA-1 Signed JARs
- Resolved
-
JDK-8297517 Disable SHA-1 Signed JARs
- Resolved
-
JDK-8196415 Disable SHA-1 Signed JARs
- Closed
-
JDK-8266298 Disable SHA-1 Signed JARs
- Closed
- relates to
-
JDK-8266022 Update jdk.certpath.disabledAlgorithms and jdk.jar.disabledAlgorithms in the JSSE Reference Guide
- Resolved
-
JDK-8267268 [BACKOUT] JDK-8196415 Disable SHA-1 Signed JARs
- Closed
-
JDK-8272155 Disable SHA-1 Signed JARs
- Closed