1.10. Exportación de una clave privada y de certificados de una base de datos NSS para utilizarlos en una configuración de servidor web Apache
RHEL 8 ya no proporciona el módulo mod_nss
para el servidor web Apache y Red Hat recomienda utilizar el módulo mod_ssl
. Si almacena su clave privada y sus certificados en una base de datos de Servicios de Seguridad de Red (NSS), por ejemplo, porque migró el servidor web de RHEL 7 a RHEL 8, siga este procedimiento para extraer la clave y los certificados en formato de Correo de Privacidad Mejorado (PEM). A continuación, puede utilizar los archivos en la configuración de mod_ssl
como se describe en Sección 1.6, “Configuración del cifrado TLS en un servidor HTTP Apache”.
Este procedimiento asume que la base de datos NSS está almacenada en /etc/httpd/alias/
y que usted almacena la clave privada y los certificados exportados en el directorio /etc/pki/tls/
.
Requisitos previos
- La clave privada, el certificado y el certificado de la autoridad de certificación (CA) se almacenan en una base de datos del NSS.
Procedimiento
Enumerar los certificados en la base de datos del NSS:
#
certutil -d /etc/httpd/alias/ -L
Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Example CA C,, Example Server Certificate u,u,uEn los próximos pasos necesitará los nombres de los certificados.
Para extraer la clave privada, debe exportar temporalmente la clave a un archivo PKCS #12:
Utilice el apodo del certificado asociado a la clave privada, para exportar la clave a un archivo PKCS #12:
#
pk12util -o /etc/pki/tls/private/export.p12 -d /etc/httpd/alias/ -n "Example Server Certificate"
Enter password for PKCS12 file: password Re-enter password: password pk12util: PKCS12 EXPORT SUCCESSFULTenga en cuenta que debe establecer una contraseña en el archivo PKCS #12. Necesitará esta contraseña en el siguiente paso.
Exporte la clave privada del archivo PKCS #12:
#
openssl pkcs12 -in /etc/pki/tls/private/export.p12 -out /etc/pki/tls/private/server.key -nocerts -nodes
Enter Import Password: password MAC verified OKEliminar el archivo temporal PKCS #12:
#
rm /etc/pki/tls/private/export.p12
Establezca los permisos en
/etc/pki/tls/private/server.key
para garantizar que sólo el usuarioroot
pueda acceder a este archivo:#
chown root:root /etc/pki/tls/private/server.key
#chmod 0600 /etc/pki/tls/private/server.key
Utilice el apodo del certificado del servidor en la base de datos del NSS para exportar el certificado de la CA:
#
certutil -d /etc/httpd/alias/ -L -n "Example Server Certificate" -a -o /etc/pki/tls/certs/server.crt
Establezca los permisos en
/etc/pki/tls/certs/server.crt
para garantizar que sólo el usuarioroot
pueda acceder a este archivo:#
chown root:root /etc/pki/tls/certs/server.crt
#chmod 0600 /etc/pki/tls/certs/server.crt
Utilice el apodo del certificado CA en la base de datos NSS para exportar el certificado CA:
#
certutil -d /etc/httpd/alias/ -L -n "Example CA" -a -o /etc/pki/tls/certs/ca.crt
Siga Sección 1.6, “Configuración del cifrado TLS en un servidor HTTP Apache” para configurar el servidor web Apache, y:
-
Ajuste el parámetro
SSLCertificateKeyFile
a/etc/pki/tls/private/server.key
. -
Ajuste el parámetro
SSLCertificateFile
a/etc/pki/tls/certs/server.crt
. -
Ajuste el parámetro
SSLCACertificateFile
a/etc/pki/tls/certs/ca.crt
.
-
Ajuste el parámetro
Recursos adicionales
-
La página de manual
certutil(1)
-
La página de manual
pk12util(1)
-
La página de manual
pkcs12(1ssl)