Difference between revisions of "SSL"

From Dogtag
Jump to: navigation, search
m (Procedure to create an ECC Server in FIPS mode)
m
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= Overview =
 
= Overview =
  
This page describes the SSL configuration used by PKI. The SSL configuration is stored in /var/lib/pki/<font color="red">pki-tomcat</font>/conf/server.xml as part of [[TomcatJSS]] configuration.
+
This page describes the SSL configuration used by PKI. The SSL configuration is stored in /var/lib/pki/<font color="red">pki-tomcat</font>/conf/server.xml as part of [[Tomcat JSS]] configuration.
 +
 
 +
Please note that in the current implementation the SSL settings are global, meaning it will affect PKI as a server and as a client (to other PKI servers or LDAP servers).
  
 
= Default SSL Configuration =
 
= Default SSL Configuration =
Line 134: Line 136:
 
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
 
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
 
* TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
 
* TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
 
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
 
 
* TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
 
* TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
 
* TLS_DHE_DSS_WITH_AES_128_CBC_SHA
 
* TLS_DHE_DSS_WITH_AES_128_CBC_SHA
Line 142: Line 142:
 
* TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
 
* TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
 
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
 
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
 
 
* TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
 
* TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
 
 
* TLS_RSA_WITH_AES_128_GCM_SHA256
 
* TLS_RSA_WITH_AES_128_GCM_SHA256
 
* TLS_RSA_WITH_3DES_EDE_CBC_SHA (enabled -> disabled per https://pagure.io/dogtagpki/issue/2821)
 
* TLS_RSA_WITH_3DES_EDE_CBC_SHA (enabled -> disabled per https://pagure.io/dogtagpki/issue/2821)
Line 151: Line 149:
  
 
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 +
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 +
* TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 
 
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
* TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
+
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (disabled -> enabled per https://pagure.io/dogtagpki/issue/2952)
 +
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2952)
 +
* TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2952)
 +
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (disabled -> enabled per https://pagure.io/dogtagpki/issue/2952)
 +
* TLS_RSA_WITH_AES_128_CBC_SHA (may need to remain enabled in order to talk to the LDAP server during pkispawn installation/configuration)
 
* TLS_RSA_WITH_AES_128_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 
* TLS_RSA_WITH_AES_128_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 +
* TLS_RSA_WITH_AES_256_CBC_SHA (may need to remain enabled in order to talk to the LDAP server during pkispawn installation/configuration)
 
* TLS_RSA_WITH_AES_256_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
 
* TLS_RSA_WITH_AES_256_CBC_SHA256 (disabled -> enabled per https://pagure.io/dogtagpki/issue/2855)
* TLS_RSA_WITH_AES_128_CBC_SHA (may need to remain enabled in order to talk to the LDAP server during pkispawn installation/configuration)
 
* TLS_RSA_WITH_AES_256_CBC_SHA (may need to remain enabled in order to talk to the LDAP server during pkispawn installation/configuration)
 
  
 
== ECC Servers ==
 
== ECC Servers ==
Line 195: Line 197:
 
Enabled:
 
Enabled:
  
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
 
* TLS_RSA_WITH_AES_256_CBC_SHA
 
 
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
 
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
* TLS_RSA_WITH_AES_256_CBC_SHA256
 
 
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
 
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
 
* TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
 
* TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
 
= FIPS SSL Configuration =
 
 
== RSA Server in FIPS mode ==
 
 
In FIPS mode, certain HSMs may require enabling certain SSL ciphers in order to work with PKI CLI and Firefox 34 or older (newer Firefox will not work).
 
 
For Thales HSM, enable the following SSL range ciphers for '''RSA ciphers''':
 
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA
 
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA
 
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
 
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
 
* TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
 
* TLS_RSA_WITH_AES_128_CBC_SHA256
 
* TLS_RSA_WITH_AES_256_CBC_SHA256
 
* TLS_RSA_WITH_AES_128_CBC_SHA (may need to remain enabled in order to talk to the LDAP server during pkispawn installation/configuration)
 
* TLS_RSA_WITH_AES_256_CBC_SHA (may need to remain enabled in order to talk to the LDAP server during pkispawn installation/configuration)
 
 
Disable everything else in SSL range ciphers.
 
 
The <Connector> element in server.xml will look like the following:
 
 
<pre>
 
<Connector
 
    ...
 
    sslRangeCiphers="
 
-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
 
-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
 
-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
 
-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
 
-TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
 
-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
 
-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
 
-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
 
-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
 
-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
 
-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
 
-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
 
+TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
 
+TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
 
+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
 
+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
 
+TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
 
-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,
 
-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
 
-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
 
-TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
 
-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
 
+TLS_RSA_WITH_AES_128_CBC_SHA256,
 
+TLS_RSA_WITH_AES_256_CBC_SHA256,
 
-TLS_RSA_WITH_AES_128_GCM_SHA256,
 
-TLS_RSA_WITH_3DES_EDE_CBC_SHA,
 
+TLS_RSA_WITH_AES_128_CBC_SHA,
 
+TLS_RSA_WITH_AES_256_CBC_SHA"
 
    .../>
 
</pre>
 
 
== Procedure to create an RSA Server in FIPS mode ==
 
 
In systems prior to Fedora 27 (pki-core-10.5.5-1), in order to configure an RSA server, it was necessary to run pkispawn in two separate steps (installation and configuration).
 
 
With the completion of https://pagure.io/dogtagpki/issue/2855 which altered FIPS ciphers to be the default cipher suite,
 
pkispawn installation/configuration can be run in a single pass, and the same default RSA cipher suite is utilized, regardless of whether or not FIPS has been enabled or disabled.
 
 
For systems running Fedora 27 (pki-core-10.5.5-1) or later, the following sample procedure may be used to create a Dogtag CA RSA Server in FIPS mode using a software token:
 
 
    Enabling FIPS status:
 
   
 
        (1) dnf install dracut-fips
 
        (2) reboot
 
        (3) press 'e' on the grub config menu to 'edit' the selected kernel
 
        (4) add "fips=1" to the end of the boot line, or when multiple
 
            disks/partitions are involved (e. g. - "fips=1 boot=/dev/sda1")
 
        (5) Ctrl-x to boot with fips mode enabled
 
   
 
    # sysctl crypto.fips_enabled
 
    crypto.fips_enabled = 1
 
   
 
    # script -c "pkispawn -s CA -f /root/pki/ca.cfg -vvv" typescript.ca-rsa-fips
 
   
 
        where 'ca.cfg' contains:
 
   
 
            [DEFAULT]
 
            pki_admin_password=<password>
 
            pki_client_pkcs12_password=<password>
 
            pki_ds_password=<password>
 
           
 
            # Optionally keep client databases
 
            pki_client_database_purge=False
 
   
 
    # pki cert-find
 
   
 
    Check '<instance>/conf/server.xml':
 
   
 
              sslVersionRangeStream="tls1_1:tls1_2"
 
   
 
              sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
 
                                -TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
 
                                -TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
 
                                -TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
 
                                +TLS_DHE_RSA_WITH_AES_128_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
 
                                +TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
 
                                -TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_RSA_WITH_AES_128_CBC_SHA256,+TLS_RSA_WITH_AES_256_CBC_SHA256,
 
                                -TLS_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_RSA_WITH_AES_128_CBC_SHA,+TLS_RSA_WITH_AES_256_CBC_SHA"
 
   
 
        The following default ciphers should be enabled for RSA servers:
 
   
 
            +TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
 
            +TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
 
            +TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
 
            +TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
 
            +TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
 
            +TLS_RSA_WITH_AES_128_CBC_SHA256,
 
            +TLS_RSA_WITH_AES_256_CBC_SHA256,
 
            +TLS_RSA_WITH_AES_128_CBC_SHA,
 
            +TLS_RSA_WITH_AES_256_CBC_SHA
 
 
== ECC Server in FIPS mode ==
 
 
In FIPS mode, certain HSMs may require enabling certain SSL ciphers in order to work with PKI CLI and Firefox 34 or older (newer Firefox will not work).
 
 
For Thales HSM, enable the following SSL range ciphers for '''ECC ciphers''':
 
 
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
 
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
 
* TLS_RSA_WITH_AES_256_CBC_SHA
 
* TLS_RSA_WITH_AES_256_CBC_SHA
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
 
 
* TLS_RSA_WITH_AES_256_CBC_SHA256
 
* TLS_RSA_WITH_AES_256_CBC_SHA256
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
 
* TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
 
  
Disable everything else in SSL range ciphers.
+
= sslget Command-Line Tool =
 +
Disabled:
 +
* TLS_AES_256_GCM_SHA384                    (not FIPS)
 +
* TLS_CHACHA20_POLY1305_SHA256              (not FIPS)
 +
* TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA        (3DES)
 +
* TLS_DHE_DSS_WITH_AES_128_CBC_SHA256      (disabled by default)
 +
* TLS_DHE_DSS_WITH_AES_128_GCM_SHA256      (disabled by default)
 +
* TLS_DHE_DSS_WITH_AES_256_CBC_SHA256      (disabled by default)
 +
* TLS_DHE_DSS_WITH_AES_256_GCM_SHA384      (disabled by default)
 +
* TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA    (disabled by default)
 +
* TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA    (disabled by default)
 +
* TLS_DHE_DSS_WITH_DES_CBC_SHA              (disabled by default)
 +
* TLS_DHE_DSS_WITH_RC4_128_SHA              (disabled by default)
 +
* TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA        (3DES)
 +
* TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA    (disabled by default)
 +
* TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA    (disabled by default)
 +
* TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (not FIPS)
 +
* TLS_DHE_RSA_WITH_DES_CBC_SHA              (disabled by default)
 +
* TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA      (disabled by default)
 +
* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA      (disabled by default)
 +
* TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA      (disabled by default)
 +
* TLS_ECDH_ECDSA_WITH_NULL_SHA              (disabled by default)
 +
* TLS_ECDH_ECDSA_WITH_RC4_128_SHA          (disabled by default)
 +
* TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA    (3DES)
 +
* TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (not FIPS)
 +
* TLS_ECDHE_ECDSA_WITH_NULL_SHA            (disabled by default)
 +
* TLS_ECDHE_ECDSA_WITH_RC4_128_SHA          (disabled by default)
 +
* TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA      (3DES)
 +
* TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (not FIPS)
 +
* TLS_ECDHE_RSA_WITH_NULL_SHA              (disabled by default)
 +
* TLS_ECDHE_RSA_WITH_RC4_128_SHA            (disabled by default)
 +
* TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA        (disabled by default)
 +
* TLS_ECDH_RSA_WITH_AES_128_CBC_SHA        (disabled by default)
 +
* TLS_ECDH_RSA_WITH_AES_256_CBC_SHA        (disabled by default)
 +
* TLS_ECDH_RSA_WITH_NULL_SHA                (disabled by default)
 +
* TLS_ECDH_RSA_WITH_RC4_128_SHA            (disabled by default)
 +
* TLS_RSA_WITH_3DES_EDE_CBC_SHA            (3DES)
 +
* TLS_RSA_WITH_CAMELLIA_128_CBC_SHA        (disabled by default)
 +
* TLS_RSA_WITH_CAMELLIA_256_CBC_SHA        (disabled by default)
 +
* TLS_RSA_WITH_DES_CBC_SHA                  (disabled by default)
 +
* TLS_RSA_WITH_NULL_MD5                    (disabled by default)
 +
* TLS_RSA_WITH_NULL_SHA256                  (disabled by default)
 +
* TLS_RSA_WITH_NULL_SHA                    (disabled by default)
 +
* TLS_RSA_WITH_RC4_128_MD5                  (disabled by default)
 +
* TLS_RSA_WITH_RC4_128_SHA                  (disabled by default)
 +
* TLS_RSA_WITH_SEED_CBC_SHA                (disabled by default)
 +
Enabled:
 +
* TLS_AES_128_GCM_SHA256                   
 +
* TLS_DHE_DSS_WITH_AES_128_CBC_SHA         
 +
* TLS_DHE_DSS_WITH_AES_256_CBC_SHA         
 +
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA         
 +
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA256     
 +
* TLS_DHE_RSA_WITH_AES_128_GCM_SHA256     
 +
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA         
 +
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA256     
 +
* TLS_DHE_RSA_WITH_AES_256_GCM_SHA384     
 +
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA     
 +
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 
 +
* TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 
 +
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA     
 +
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 
 +
* TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 
 +
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA       
 +
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256   
 +
* TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256   
 +
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA       
 +
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384   
 +
* TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384   
 +
* TLS_RSA_WITH_AES_128_CBC_SHA             
 +
* TLS_RSA_WITH_AES_128_CBC_SHA256         
 +
* TLS_RSA_WITH_AES_128_GCM_SHA256         
 +
* TLS_RSA_WITH_AES_256_CBC_SHA             
 +
* TLS_RSA_WITH_AES_256_CBC_SHA256         
 +
* TLS_RSA_WITH_AES_256_GCM_SHA384
  
The <Connector> element in server.xml will look like the following:
+
= FIPS SSL Configuration =
 
 
<pre>
 
<Connector
 
    ...
 
    sslRangeCiphers="
 
-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
 
-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
 
-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
 
-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
 
+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
 
-TLS_RSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_RSA_WITH_AES_128_CBC_SHA,
 
+TLS_RSA_WITH_AES_256_CBC_SHA,
 
-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
 
+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
 
-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
 
-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
 
-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
 
-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
 
-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,
 
-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
 
-TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
 
-TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
 
-TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
 
-TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
 
-TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
 
-TLS_RSA_WITH_AES_128_CBC_SHA256,
 
+TLS_RSA_WITH_AES_256_CBC_SHA256,
 
-TLS_RSA_WITH_AES_128_GCM_SHA256,
 
+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
 
+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
 
-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
 
-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
 
-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
 
    .../>
 
</pre>
 
 
 
== Procedure to create an ECC Server in FIPS mode ==
 
 
 
In order to configure an ECC server, pkispawn installation/configuration has always been able to be run in a single pass.
 
 
 
With the completion of https://pagure.io/dogtagpki/issue/2855 which altered FIPS ciphers to be the default cipher suite,
 
pkispawn installation/configuration can be run in a single pass, and the same default ECC cipher suite is utilized, regardless of whether or not FIPS has been enabled or disabled.
 
 
 
The following sample procedure may be used to create a Dogtag CA ECC Server in FIPS mode using a software token:
 
  
    Enabling FIPS status:
+
See [[FIPS SSL Configuration]].
   
 
        (1) dnf install dracut-fips
 
        (2) reboot
 
        (3) press 'e' on the grub config menu to 'edit' the selected kernel
 
        (4) add "fips=1" to the end of the boot line, or when multiple
 
            disks/partitions are involved (e. g. - "fips=1 boot=/dev/sda1")
 
        (5) Ctrl-x to boot with fips mode enabled
 
   
 
    # sysctl crypto.fips_enabled
 
    crypto.fips_enabled = 1
 
   
 
    # script -c "pkispawn -s CA -f /root/pki/ca_ecc.cfg -vvv" typescript.ca-ecc-fips
 
   
 
        where 'ca_ecc.cfg' contains:
 
   
 
            [DEFAULT]
 
            pki_admin_password=<password>
 
            pki_client_pkcs12_password=<password>
 
            pki_ds_password=<password>
 
           
 
            # Override default RSA Admin parameters with ECC parameters
 
            pki_admin_key_algorithm=SHA256withEC
 
            pki_admin_key_size=nistp256
 
            pki_admin_key_type=ecc
 
           
 
            # Override default RSA SSL Server parameters with ECC parameters
 
            pki_sslserver_key_algorithm=SHA256withEC
 
            pki_sslserver_key_size=nistp256
 
            pki_sslserver_key_type=ecc
 
           
 
            # Override default RSA Subsystem parameters with ECC parameters
 
            pki_subsystem_key_algorithm=SHA256withEC
 
            pki_subsystem_key_size=nistp256
 
            pki_subsystem_key_type=ecc
 
           
 
            # Optionally keep client databases
 
            pki_client_database_purge=False
 
           
 
            [CA]
 
            # Override default RSA CA Signing parameters with ECC parameters
 
            pki_ca_signing_key_algorithm=SHA256withEC
 
            pki_ca_signing_key_size=nistp256
 
            pki_ca_signing_key_type=ecc
 
            pki_ca_signing_signing_algorithm=SHA256withEC
 
           
 
            # Override default RSA CA OCSP Signing parameters with ECC parameters
 
            pki_ocsp_signing_key_algorithm=SHA256withEC
 
            pki_ocsp_signing_key_size=nistp256
 
            pki_ocsp_signing_key_type=ecc
 
            pki_ocsp_signing_signing_algorithm=SHA256withEC
 
   
 
    # pki cert-find
 
   
 
    Check '<instance>/conf/server.xml':
 
   
 
              sslVersionRangeStream="tls1_1:tls1_2"
 
   
 
              sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
 
                                -TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
 
                                -TLS_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_RSA_WITH_AES_128_CBC_SHA,+TLS_RSA_WITH_AES_256_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
 
                                -TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
 
                                -TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
 
                                -TLS_DHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
 
                                -TLS_RSA_WITH_AES_128_CBC_SHA256,+TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
 
                                +TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
 
   
 
        The following default ciphers should be enabled for ECC servers:
 
   
 
            +TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
 
            +TLS_RSA_WITH_AES_256_CBC_SHA,
 
            +TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
 
            +TLS_RSA_WITH_AES_256_CBC_SHA256,
 
            +TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
 
            +TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
 
  
 
= Customizing SSL Configuration =
 
= Customizing SSL Configuration =
Line 466: Line 287:
 
== During Installation ==
 
== During Installation ==
  
During installation the installer will use the default SSL configuration. Under certain circumstances (e.g. in FIPS mode) the default SSL configuration may not work. To customize the SSL configuration during installation use the [[Two-Step Installation]]:
+
During installation the installer will use the default SSL configuration. Under certain circumstances (e.g. in FIPS mode) the default SSL configuration may not work. To customize the SSL configuration during installation use the [https://github.com/dogtagpki/pki/wiki/Two-Step-Installation Two-Step Installation]:
  
 
* Prepare a normal deployment configuration.
 
* Prepare a normal deployment configuration.
Line 477: Line 298:
 
After installation the SSL settings can be customized directly in /var/lib/pki/<font color="red">pki-tomcat</font>/conf/server.xml.
 
After installation the SSL settings can be customized directly in /var/lib/pki/<font color="red">pki-tomcat</font>/conf/server.xml.
  
= Troubleshooting =
+
= Tools =
  
 
* [[sslscan]]
 
* [[sslscan]]
* [[NSS Tools]]
+
* [[nmap]]
 +
* [https://github.com/dogtagpki/nss/wiki/NSS-Tools NSS Tools]
 +
* [[tcpdump]]
 +
* [[sslget]]
  
 
= References =
 
= References =
Line 486: Line 310:
 
* [[SSL Protocol]]
 
* [[SSL Protocol]]
 
* [[NSS]]
 
* [[NSS]]
* [[TomcatJSS]]
+
* [[Tomcat SSL]]
* [[PKI CLI Configuration]]
+
* [[Tomcat JSS]]
 +
* [https://github.com/dogtagpki/pki/wiki/PKI-Environment-Variables PKI Environment Variables]
 
* [[Enabling SSL Connection with Internal Database]]
 
* [[Enabling SSL Connection with Internal Database]]
 
* [[FIPS]]
 
* [[FIPS]]
Line 493: Line 318:
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=1382066 Bug 1382066 - Problems with FIPS mode]
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=1382066 Bug 1382066 - Problems with FIPS mode]
 
* [https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4 TLS Cipher Suite Registry]
 
* [https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4 TLS Cipher Suite Registry]
 +
* [[Firefox]]

Latest revision as of 20:06, 22 July 2022

Overview

This page describes the SSL configuration used by PKI. The SSL configuration is stored in /var/lib/pki/pki-tomcat/conf/server.xml as part of Tomcat JSS configuration.

Please note that in the current implementation the SSL settings are global, meaning it will affect PKI as a server and as a client (to other PKI servers or LDAP servers).

Default SSL Configuration

By default PKI will use the following SSL configuration.

General configuration

  • Strict ciphers: true
  • Client certificate authentication: want
  • server cert nickname file: /var/lib/pki/pki-tomcat/conf/serverCertNick.conf
  • password file: /var/lib/pki/pki-tomcat/conf/password.conf
  • password class: org.apache.tomcat.util.net.jss.PlainPasswordFile
  • NSS database: /var/lib/pki/pki-tomcat/alias

OCSP

  • OCSP: enabled
  • OCSP responder URL: http://$HOSTNAME:9080/ca/ocsp
  • OCSP responder certificate: ocspSigningCert cert-pki-ca
  • Cache size: 1000
  • Minimum cache entry duration: 60 seconds
  • Maximum cache entry duration: 120 seconds
  • Timeout: 10 seconds

SSL options

  • SSL2: disabled
  • SSL3: disabled
  • TLS: enabled

Note: If the SSL range ciphers parameters are defined, the SSL options parameters will be ignored.

SSL2 ciphers

Disabled:

  • SSL2_RC4_128_WITH_MD5
  • SSL2_RC4_128_EXPORT40_WITH_MD5
  • SSL2_RC2_128_CBC_WITH_MD5
  • SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
  • SSL2_DES_64_CBC_WITH_MD5
  • SSL2_DES_192_EDE3_CBC_WITH_MD5

Enabled: none

SSL3 ciphers

Disabled:

  • SSL3_FORTEZZA_DMS_WITH_NULL_SHA
  • SSL3_FORTEZZA_DMS_WITH_RC4_128_SHA
  • SSL3_RSA_EXPORT_WITH_RC4_40_MD5
  • SSL3_RSA_WITH_DES_CBC_SHA
  • SSL3_RSA_EXPORT_WITH_RC2_CBC_40_MD5
  • SSL3_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA
  • SSL_RSA_FIPS_WITH_DES_CBC_SHA
  • SSL3_RSA_WITH_NULL_MD5
  • TLS_RSA_EXPORT1024_WITH_RC4_56_SHA
  • TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA

Enabled:

  • SSL3_RSA_WITH_RC4_128_SHA
  • SSL3_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS ciphers

Disabled:

  • TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

Enabled:

  • TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA

SSL version range for stream protocols

Minimum: tls1_1 (tls1_0 -> tls1_1 per https://pagure.io/dogtagpki/issue/2855)

Maximum: tls1_2

Valid values: ssl3, tls1_0, tls1_1, tls1_2

SSL version range for datagram protocols

Minimum: tls1_1

Maximum: tls1_2

Valid values: tls1_1, tls1_2

SSL range ciphers

RSA Servers

This list defines the SSL ciphers for the above SSL version ranges. This parameter overrides the SSL options parameters above for non-ECC ciphers.

Disabled:

  • TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA (enabled -> disabled per https://pagure.io/dogtagpki/issue/2821)

Enabled:

ECC Servers

Similarly, the following list defines the SSL ciphers for the above SSL version ranges for ECC ciphers.

Disabled:

  • TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Enabled:

  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA256

sslget Command-Line Tool

Disabled:

  • TLS_AES_256_GCM_SHA384 (not FIPS)
  • TLS_CHACHA20_POLY1305_SHA256 (not FIPS)
  • TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (3DES)
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (disabled by default)
  • TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (disabled by default)
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (disabled by default)
  • TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (disabled by default)
  • TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA (disabled by default)
  • TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA (disabled by default)
  • TLS_DHE_DSS_WITH_DES_CBC_SHA (disabled by default)
  • TLS_DHE_DSS_WITH_RC4_128_SHA (disabled by default)
  • TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (3DES)
  • TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (disabled by default)
  • TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (disabled by default)
  • TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (not FIPS)
  • TLS_DHE_RSA_WITH_DES_CBC_SHA (disabled by default)
  • TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (disabled by default)
  • TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (disabled by default)
  • TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (disabled by default)
  • TLS_ECDH_ECDSA_WITH_NULL_SHA (disabled by default)
  • TLS_ECDH_ECDSA_WITH_RC4_128_SHA (disabled by default)
  • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (3DES)
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (not FIPS)
  • TLS_ECDHE_ECDSA_WITH_NULL_SHA (disabled by default)
  • TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (disabled by default)
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (3DES)
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (not FIPS)
  • TLS_ECDHE_RSA_WITH_NULL_SHA (disabled by default)
  • TLS_ECDHE_RSA_WITH_RC4_128_SHA (disabled by default)
  • TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (disabled by default)
  • TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (disabled by default)
  • TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (disabled by default)
  • TLS_ECDH_RSA_WITH_NULL_SHA (disabled by default)
  • TLS_ECDH_RSA_WITH_RC4_128_SHA (disabled by default)
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA (3DES)
  • TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (disabled by default)
  • TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (disabled by default)
  • TLS_RSA_WITH_DES_CBC_SHA (disabled by default)
  • TLS_RSA_WITH_NULL_MD5 (disabled by default)
  • TLS_RSA_WITH_NULL_SHA256 (disabled by default)
  • TLS_RSA_WITH_NULL_SHA (disabled by default)
  • TLS_RSA_WITH_RC4_128_MD5 (disabled by default)
  • TLS_RSA_WITH_RC4_128_SHA (disabled by default)
  • TLS_RSA_WITH_SEED_CBC_SHA (disabled by default)

Enabled:

  • TLS_AES_128_GCM_SHA256
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_256_GCM_SHA384

FIPS SSL Configuration

See FIPS SSL Configuration.

Customizing SSL Configuration

During Installation

During installation the installer will use the default SSL configuration. Under certain circumstances (e.g. in FIPS mode) the default SSL configuration may not work. To customize the SSL configuration during installation use the Two-Step Installation:

  • Prepare a normal deployment configuration.
  • Add pki_skip_configuration=True to the configuration and run pkispawn.
  • Customize the SSL parameters as needed in /var/lib/pki/pki-tomcat/conf/server.xml
  • Replace pki_skip_configuration=True with pki_skip_installation=True and run pkispawn again.

After Installation

After installation the SSL settings can be customized directly in /var/lib/pki/pki-tomcat/conf/server.xml.

Tools

References