1.10. Exportar uma chave privada e certificados de um banco de dados NSS para utilizá-los na configuração de um servidor web Apache
A RHEL 8 não fornece mais o módulo mod_nss
para o servidor web Apache, e a Red Hat recomenda o uso do módulo mod_ssl
. Se você armazenar sua chave privada e certificados em um banco de dados de Serviços de Segurança de Rede (NSS), por exemplo, porque você migrou o servidor web do RHEL 7 para o RHEL 8, siga este procedimento para extrair a chave e os certificados no formato Privacy Enhanced Mail (PEM). Você pode então utilizar os arquivos na configuração mod_ssl
, conforme descrito em Seção 1.6, “Configurando a criptografia TLS em um servidor Apache HTTP”.
Este procedimento assume que o banco de dados do NSS é armazenado em /etc/httpd/alias/
e que você armazena a chave privada exportada e os certificados no diretório /etc/pki/tls/
.
Pré-requisitos
- A chave privada, o certificado e o certificado da autoridade certificadora (CA) são armazenados em um banco de dados do NSS.
Procedimento
Liste os certificados no banco de dados do NSS:
#
certutil -d /etc/httpd/alias/ -L
Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Example CA C,, Example Server Certificate u,u,uVocê precisa dos apelidos dos certificados nas próximas etapas.
Para extrair a chave privada, você deve exportar temporariamente a chave para um arquivo PKCS #12:
Use o apelido do certificado associado à chave privada, para exportar a chave para um arquivo 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 SUCCESSFULObserve que você deve definir uma senha no arquivo PKCS #12. Você precisa desta senha na próxima etapa.
Exportar a chave privada do arquivo 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 OKApagar o arquivo temporário PKCS #12:
#
rm /etc/pki/tls/private/export.p12
Defina as permissões em
/etc/pki/tls/private/server.key
para garantir que somente o usuárioroot
possa acessar este arquivo:#
chown root:root /etc/pki/tls/private/server.key
#chmod 0600 /etc/pki/tls/private/server.key
Use o apelido do certificado do servidor no banco de dados do NSS para exportar o certificado CA:
#
certutil -d /etc/httpd/alias/ -L -n "Example Server Certificate" -a -o /etc/pki/tls/certs/server.crt
Defina as permissões em
/etc/pki/tls/certs/server.crt
para garantir que somente o usuárioroot
possa acessar este arquivo:#
chown root:root /etc/pki/tls/certs/server.crt
#chmod 0600 /etc/pki/tls/certs/server.crt
Use o apelido do certificado CA no banco de dados do NSS para exportar o certificado CA:
#
certutil -d /etc/httpd/alias/ -L -n "Example CA" -a -o /etc/pki/tls/certs/ca.crt
Siga Seção 1.6, “Configurando a criptografia TLS em um servidor Apache HTTP” para configurar o servidor web Apache, e:
-
Ajustar o parâmetro
SSLCertificateKeyFile
para/etc/pki/tls/private/server.key
. -
Ajustar o parâmetro
SSLCertificateFile
para/etc/pki/tls/certs/server.crt
. -
Ajustar o parâmetro
SSLCACertificateFile
para/etc/pki/tls/certs/ca.crt
.
-
Ajustar o parâmetro
Recursos adicionais
-
A página do homem
certutil(1)
-
A página do homem
pk12util(1)
-
A página do homem
pkcs12(1ssl)