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.
- Set the system property
com.sun.net.ssl.checkRevocation
totrue
. - Set the system property ocsp.enable to
true
. - Set the system property
com.sun.security.enableCRLDP
totrue
.