Este conteúdo não está disponível no idioma selecionado.
Chapter 8. Installing and configuring for ECC
This section highlights differences that you would encounter if you want to do an ECC installation, compared to the RSA instructions (chapter 6&7)
8.1. Prerequisites for ECC installation Copiar o linkLink copiado para a área de transferência!
Prepare your systems in a similar manner to the procedure described in Chapter 6, Prerequisites for installation, making sure you adapt paths, names, and other configuration for ECC.
For example, we will install the following instances:
- rhcs10-ECC-RootCA
- rhcs10-ECC-SubCA
- rhcs10-ECC-OCSP-rootca
- rhcs10-ECC-OCSP-subca
- rhcs10-ECC-KRA
Please note that ECC is not supported for TMS (TPS and TKS).
Create directories for storing pki files
For example, on rhcs10.example.com:
mkdir -p /root/pki_ecc
# mkdir -p /root/pki_ecc
Setup the firewall ports for ECC
Please refer to the table in Section 6.8, “Adding ports to the firewall and with SELinux context” for ports used by ECC.
You can use the following command to open the ports:
firewall-cmd --permanent --add-port={20080/tcp,20443/tcp,1389/tcp,1636/tcp,20009/tcp,20005/tcp,21080/tcp,21443/tcp,8389/tcp,8636/tcp,21009/tcp,21005/tcp,23080/tcp,23443/tcp,2389/tcp,2636/tcp,23009/tcp,23005/tcp,13389/tcp,13636/tcp,22080/tcp,22443/tcp,9389/tcp,9636/tcp,22009/tcp,22005/tcp,14389/tcp,14636/tcp,23009/tcp,23005/tcp,34080/tcp,34443/tcp,4389/tcp,4636/tcp}
# firewall-cmd --permanent --add-port={20080/tcp,20443/tcp,1389/tcp,1636/tcp,20009/tcp,20005/tcp,21080/tcp,21443/tcp,8389/tcp,8636/tcp,21009/tcp,21005/tcp,23080/tcp,23443/tcp,2389/tcp,2636/tcp,23009/tcp,23005/tcp,13389/tcp,13636/tcp,22080/tcp,22443/tcp,9389/tcp,9636/tcp,22009/tcp,22005/tcp,14389/tcp,14636/tcp,23009/tcp,23005/tcp,34080/tcp,34443/tcp,4389/tcp,4636/tcp}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Then reload the firewall in order to apply the newly opened ports:
firewall-cmd --reload
# firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Setup SELinux contexts
For Red Hat Certificate System ports:
for port in 20080 20443 21080 21443 34080 34443 22080 22443 23080 2343; do semanage port -a -t http_port_t -p tcp $port; done
# for port in 20080 20443 21080 21443 34080 34443 22080 22443 23080 2343; do semanage port -a -t http_port_t -p tcp $port; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For DS ports (replace the port type option
http_port_t
withldap_port_t
):for port in 1389 1636 8389 8636 2389 2636 13389 13636 9389 9636 14389 14636 4389 4636; do semanage port -a -t ldap_port_t -p tcp $port; done
# for port in 1389 1636 8389 8636 2389 2636 13389 13636 9389 9636 14389 14636 4389 4636; do semanage port -a -t ldap_port_t -p tcp $port; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Install RHDS instances
Install Red Hat Directory Server instances, e.g.:
- CC-ECC-RootCA-LDAP (LDAP ports: 1389/1636)
- CC-ECC-SubCA-LDAP (LDAP ports: 8389/8636)
- CC-ECC-OCSP-rootca-LDAP (LDAP ports: 2389/2636)
- CC-ECC-OCSP-subca-LDAP (LDAP ports: 9389/9636)
- CC-ECC-KRA-LDAP (LDAP ports: 4389/4636)
Please note that ECC is not supported for TMS (TPS and TKS).
You can use the example script below to install the DS instances. For example for the ECC RootCA:
Testing CRL publishing
Make sure you use the ECC algorithm in the commands.
- For example:
PKCS10Client -d /root/.dogtag/pki_ecc_bootstrap/certs_db -p SECret.123 -a ec -c nistp256 -n "cn=test user1, uid=user1" -o /root/.dogtag/pki_ecc_bootstrap/certs_db/user1.req
# PKCS10Client -d /root/.dogtag/pki_ecc_bootstrap/certs_db -p SECret.123 -a ec -c nistp256 -n "cn=test user1, uid=user1" -o /root/.dogtag/pki_ecc_bootstrap/certs_db/user1.req
Note a ec -c nistp256
in the above command.
8.2. Installing ECC RHCS instances Copiar o linkLink copiado para a área de transferência!
Please follow the example installation procedure described in Chapter 7, Installing and configuring Red Hat Certificate System, but make sure you adapt for ECC as relevant. We provide the following reference pkispawn files for an ECC installation:
8.2.1. RootCA Copiar o linkLink copiado para a área de transferência!
Please refer to Section 7.3, “Create and configure the RootCA (Part I)” for the example installation procedure and adapt for an ECC installation.
Once you have installed the RootCA, you will need to Section 8.2.2, “OCSP (RootCA)”. This is so that the role user certificates and the TLS server certificate of the RootCA will bear AIA extensions pointing to the OCSP instance. You can then finish configuring the RootCA by following Section 7.5, “Create and configure the RootCA (Part II)”.
8.2.2. OCSP (RootCA) Copiar o linkLink copiado para a área de transferência!
Please refer to Section 7.4, “Create and configure the OCSP instance (RootCA)” for the example installation procedure and adapt for an ECC installation.
Once you are done installing the RootCA’s OCSP, do not forget to proceed with the Section 7.5, “Create and configure the RootCA (Part II)”.
8.2.3. SubCA Copiar o linkLink copiado para a área de transferência!
Please refer to Section 7.6, “Create and configure the SubCA (Part I)” for the example installation procedure and adapt for an ECC installation.
Once you have installed the SubCA, you will need to Section 8.2.4, “OCSP (SubCA)”. This is so that the role user certificates and the TLS server certificate of the SubCA will bear AIA extensions pointing to the OCSP instance. You can then finish configuring the SubCA by following Section 7.8, “Create and configure the SubCA (Part II)”.
8.2.4. OCSP (SubCA) Copiar o linkLink copiado para a área de transferência!
Please refer to Section 7.7, “Create and configure the OCSP instance (SubCA)” for the example installation procedure and adapt for an ECC installation.
Once you are done installing the SubCA’s OCSP, do not forget to proceed with the Section 7.8, “Create and configure the SubCA (Part II)”.
8.2.5. KRA Copiar o linkLink copiado para a área de transferência!
Please refer to Section 7.9, “Create and configure the KRA instance” for the example installation procedure and adapt for an ECC installation.
8.3. Post-installation for ECC Copiar o linkLink copiado para a área de transferência!
Please follow the post-installation configuration described in Section 7.13, “Post-installation”, but when reaching Section 7.13.11, “Update the ciphers list” make sure you apply the following ECC-specific parameters instead. Configure all your CS instances as relevant based on their role.
Configuring ECC ciphers for CS instances:
When a CS instance is acting as a server, add the following ciphers to the SSLHostConfig element in the
server.xml
file:<SSLHostConfig sslProtocol="TLS" protocols="TLSv1.2" certificateVerification="optional" ciphers="ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384">
<SSLHostConfig sslProtocol="TLS" protocols="TLSv1.2" certificateVerification="optional" ciphers="ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384">
Copy to Clipboard Copied! Toggle word wrap Toggle overflow When a CS instance is acting as a client to its internal LDAP database, add the following line to the
<instance directory>/<instance type>/conf/CS.cfg
file:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
Copy to Clipboard Copied! Toggle word wrap Toggle overflow When a CA instance is acting as a client to the KRA, add the following line to the
<instance directory>/ca/conf/CS.cfg
file:ca.connector.KRA.clientCiphers=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
ca.connector.KRA.clientCiphers=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Once you have configured all your CS instances, restart them in order to apply the new ciphers.
Configuring ECC ciphers for DS instances:
By default, a Directory Server instance inherits the ciphers enabled on the OS.
You can verify the enabled ciphers using the following command (here, for the SubCA’s DS instance):
dsconf -D "cn=Directory Manager" ldap://rhds11.example.com:8389 security ciphers list --enabled
# dsconf -D "cn=Directory Manager" ldap://rhds11.example.com:8389 security ciphers list --enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you wish to set the cipher list to match the ciphers of Certificate System (here, for the SubCA’s DS instance):
dsconf -D "cn=Directory Manager" ldap://rhds11.example.com:8389 security ciphers set "+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+"
# dsconf -D "cn=Directory Manager" ldap://rhds11.example.com:8389 security ciphers set "+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Do the same for all other DS instances, then restart the DS instances to apply the ciphers.