4 Applying NIST Guidelines for TLS

NIST SP 800-52 Rev. 2: Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations specify that TLS servers should use minimum key sizes when using certain algorithms and must perform revocation checking of the client certificate when client authentication is used.

Configure Minimum Key Sizes for Certificate Path Validation

Update the security property jdk.certpath.disabledAlgorithms to add the following restrictions:

  • RSA keySize < 2048
  • EC keySize < 256

See Disabled and Restricted Cryptographic Algorithms in Java Platform, Standard Edition Security Developer's Guide.

Enable Revocation Checking

A certificate is a digitally signed statement, typically issued by a Certificate Authority (CA), vouching for the identity and public key of an entity. Certificates used in TLS can be revoked by the issuing CA if there is reason to believe that a certificate is compromised. NIST guidelines specify that servers must perform revocation checking of the client certificate when client authentication is used. In addition, the server must retrieve revocation information though the Online Certificate Status Protocol (OCSP) or Certificate Revocation Lists (CRLs).

See PKIX TrustManager Support and Client-Driven OCSP and OCSP Stapling in Java Platform, Standard Edition Security Developer's Guide for more information.

Follow these steps to enable revocation checking and client-driven OCSP.

  1. Set the system property com.sun.net.ssl.checkRevocation to true.
  2. Set the system property ocsp.enable to true.
  3. Set the system property com.sun.security.enableCRLDP to true.