Red Hat Training
A Red Hat training course is available for RHEL 8
50.4. Obtención de un certificado IdM para un servicio mediante certmonger
Para garantizar que la comunicación entre los navegadores y el servicio web que se ejecuta en su cliente IdM sea segura y esté cifrada, utilice un certificado TLS. Si desea restringir los navegadores web para que confíen en los certificados emitidos por la sub-CA webserver-ca
pero no en ninguna otra sub-CA de IdM, obtenga el certificado TLS para su servicio web de la sub-CA webserver-ca
.
Esta sección describe cómo utilizar certmonger
para obtener un certificado IdM para un servicio (HTTP/my_company.idm.example.com
@IDM.EXAMPLE.COM
) que se ejecuta en un cliente IdM.
El uso de certmonger
para solicitar el certificado de forma automática significa que certmonger
gestiona y renueva el certificado cuando se debe renovar.
Para ver una representación visual de lo que ocurre cuando certmonger
solicita un certificado de servicio, consulte Sección 50.5, “Flujo de comunicación para el certmonger que solicita un certificado de servicio”.
Requisitos previos
- El servidor web se inscribe como cliente de IdM.
- Tienes acceso de root al cliente IdM en el que estás ejecutando el procedimiento.
- El servicio para el que se solicita un certificado no tiene por qué existir previamente en IdM.
Procedimiento
En el cliente
my_company.idm.example.com
IdM en el que se ejecuta el servicioHTTP
, solicite un certificado para el servicio correspondiente a la entidad de seguridadHTTP/my_company.idm.example.com@IDM.EXAMPLE.COM
y especifique que-
El certificado debe almacenarse en el archivo local
/etc/pki/tls/certs/httpd.pem
-
La clave privada debe almacenarse en el archivo local
/etc/pki/tls/private/httpd.key
-
La sub-CA
webserver-ca
debe ser la autoridad de certificación emisora Que se añada una extensionRequest para un
SubjectAltName
a la solicitud de firma con el nombre 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.
En el comando anterior:
-
El comando
ipa-getcert request
especifica que el certificado debe obtenerse de la CA de IdM. El comandoipa-getcert request
es un atajo paragetcert request -c IPA
. -
La opción
-g
especifica el tamaño de la clave que se generará si no existe ya una. -
La opción
-D
especifica el valor DNS deSubjectAltName
que se añadirá a la solicitud. -
La opción
-X
especifica que el emisor del certificado debe serwebserver-ca
, noipa
. -
La opción
-C
indica acertmonger
que reinicie el serviciohttpd
después de obtener el certificado.
-
Para especificar que el certificado se emita con un perfil determinado, utilice la opción
-T
.
NotaRHEL 8 utiliza un módulo SSL en Apache diferente al utilizado en RHEL 7. El módulo SSL se basa en OpenSSL y no en NSS. Por esta razón, en RHEL 8 no se puede utilizar una base de datos NSS para almacenar el certificado
HTTPS
y la clave privada.-
El comando
-
El certificado debe almacenarse en el archivo local
Opcionalmente, para comprobar el estado de su solicitud:
# 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 [...]
La salida muestra que la solicitud está en el estado
MONITORING
, lo que significa que se ha obtenido un certificado. Las ubicaciones del par de claves y del certificado son las solicitadas.