Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8272155

Disable SHA-1 Signed JARs

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P3 P3
    • 18
    • security-libs
    • None
    • behavioral
    • low
    • Hide
      The compatibility risk should be low. Most public CAs have stopped issuing SHA-1 code signing certificates a few years ago. There may be some SHA-1 JARs still in use and that are affected by the restrictions but users can adjust the security properties (at their own risk) to re-enable SHA-1. Also, the exception to the policy helps mitigate the risk of breaking SHA-1 JARs that were previously timestamped and may still be in use.
      Show
      The compatibility risk should be low. Most public CAs have stopped issuing SHA-1 code signing certificates a few years ago. There may be some SHA-1 JARs still in use and that are affected by the restrictions but users can adjust the security properties (at their own risk) to re-enable SHA-1. Also, the exception to the policy helps mitigate the risk of breaking SHA-1 JARs 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, there is one exception to this policy:

      • Any JAR signed with SHA-1 algorithms and timestamped prior to January 01, 2019 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 usage SignedJAR & denyAfter 2019-01-01
        jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \
      -       DSA keySize < 1024
      +       DSA keySize < 1024, SHA1 denyAfter 2019-01-01

            mullan Sean Mullan
            mullan Sean Mullan
            Weijun Wang
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: