50.4. Obtenção de um certificado IdM para um serviço utilizando o certmonger
Para garantir que a comunicação entre os navegadores e o serviço web rodando em seu cliente IdM seja segura e criptografada, use um certificado TLS. Se você quiser restringir os navegadores web a certificados de confiança emitidos pela sub-CA webserver-ca
, mas nenhuma outra sub-CA da IdM, obtenha o certificado TLS para seu serviço web na sub-CA webserver-ca
.
Esta seção descreve como usar certmonger
para obter um certificado IdM para um serviço (HTTP/my_company.idm.example.com
@IDM.EXAMPLE.COM
) executado em um cliente IdM.
Usar certmonger
para solicitar o certificado automaticamente significa que certmonger
gerencia e renova o certificado quando ele deve ser renovado.
Para uma representação visual do que acontece quando certmonger
solicita um certificado de serviço, veja Seção 50.5, “Fluxo de comunicação para o certmonger solicitando um certificado de serviço”.
Pré-requisitos
- O servidor web está inscrito como cliente da IdM.
- Você tem acesso root ao cliente IdM no qual você está executando o procedimento.
- O serviço para o qual você está solicitando um certificado não tem que existir previamente na IdM.
Procedimento
No cliente
my_company.idm.example.com
IdM no qual o serviçoHTTP
está funcionando, solicite um certificado para o serviço correspondente ao principalHTTP/my_company.idm.example.com@IDM.EXAMPLE.COM
, e especifique que-
O certificado deve ser armazenado no arquivo local
/etc/pki/tls/certs/httpd.pem
-
A chave privada deve ser armazenada no arquivo local
/etc/pki/tls/private/httpd.key
-
O sub-CA
webserver-ca
deve ser a autoridade emissora do certificado Que uma extensãoRequest para um
SubjectAltName
seja adicionada ao pedido de assinatura com o nome DNS demy_company.idm.example.com
:# ipa-getcert request -K HTTP/my_company.idm.example.com -k /etc/pki/tls/private/httpd.key -f /etc/pki/tls/certs/httpd.pem -g 2048 -D my_company.idm.example.com -X webserver-ca -C "systemctl restart httpd" New signing request "20190604065735" added.
No comando acima:
-
O comando
ipa-getcert request
especifica que o certificado deve ser obtido junto à IdM CA. O comandoipa-getcert request
é um atalho paragetcert request -c IPA
. -
A opção
-g
especifica o tamanho da chave a ser gerada se ainda não existir uma. -
A opção
-D
especifica o valor do DNSSubjectAltName
a ser adicionado à solicitação. -
A opção
-X
especifica que o emissor do certificado deve serwebserver-ca
, e nãoipa
. -
A opção
-C
instruicertmonger
a reiniciar o serviçohttpd
após a obtenção do certificado.
-
Para especificar que o certificado seja emitido com um determinado perfil, use a opção
-T
.
NotaO RHEL 8 utiliza um módulo SSL diferente no Apache do que o utilizado no RHEL 7. O módulo SSL se baseia no OpenSSL e não no NSS. Por este motivo, no RHEL 8 não é possível usar um banco de dados NSS para armazenar o certificado
HTTPS
e a chave privada.-
O comando
-
O certificado deve ser armazenado no arquivo local
Opcionalmente, para verificar o status de seu pedido:
# ipa-getcert list -f /etc/pki/tls/certs/httpd.pem Number of certificates and requests being tracked: 3. Request ID '20190604065735': status: MONITORING stuck: no key pair storage: type=FILE,location='/etc/pki/tls/private/httpd.key' certificate: type=FILE,location='/etc/pki/tls/certs/httpd.crt' CA: IPA issuer: CN=WEBSERVER,O=IDM.EXAMPLE.COM [...]
A saída mostra que o pedido está no status
MONITORING
, o que significa que um certificado foi obtido. Os locais do par de chaves e do certificado são aqueles solicitados.