Red Hat Training
A Red Hat training course is available for RHEL 8
50.11. Solicitar un nuevo certificado de usuario y exportarlo al cliente
Como administrador de Identity Management (IdM), puede configurar un servidor web que se ejecuta en un cliente IdM para solicitar a los usuarios que utilizan navegadores web para acceder al servidor que se autentiquen con certificados emitidos por una sub-CA IdM específica. Complete esta sección para solicitar un certificado de usuario a una sub-CA de IdM específica y para exportar el certificado y la clave privada correspondiente al host desde el que el usuario quiere acceder al servidor web utilizando un navegador web. A continuación, importe el certificado y la clave privada en el navegador.
Procedimiento
Opcionalmente, cree un nuevo directorio, por ejemplo
~/certdb/
, y conviértalo en una base de datos de certificados temporal. Cuando se le pida, cree una contraseña de la base de datos de certificados NSS para cifrar las claves del certificado que se generará en un paso posterior:# mkdir
~/certdb/
# certutil -N -d~/certdb/
Enter a password which will be used to encrypt your keys. The password should be at least 8 characters long, and should contain at least one non-alphabetic character. Enter new password: Re-enter password:Cree la solicitud de firma de certificado (CSR) y redirija la salida a un archivo. Por ejemplo, para crear una CSR con el nombre
certificate_request.csr
para un certificado de bits4096
para el usuarioidm_user
en el ámbitoIDM.EXAMPLE.COM
, estableciendo el apodo de las claves privadas del certificado comoidm_user
para facilitar su localización, y estableciendo el asunto comoCN=idm_user,O=IDM.EXAMPLE.COM
:# certutil -R -d
~/certdb/
-a -g4096
-nidm_user
-s \ "CN=idm_user
,O=IDM.EXAMPLE.COM" >certificate_request.csr
Cuando se le solicite, introduzca la misma contraseña que introdujo cuando utilizó
certutil
para crear la base de datos temporal. A continuación, siga escribiendo randlomly hasta que se le indique que se detenga:Enter Password or Pin for "NSS Certificate DB": A random seed must be generated that will be used in the creation of your key. One of the easiest ways to create a random seed is to use the timing of keystrokes on a keyboard. To begin, type keys on the keyboard until this progress meter is full. DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD! Continue typing until the progress meter is full:
Envíe el archivo de solicitud de certificado al servidor. Especifique la entidad de seguridad de Kerberos que se asociará con el certificado recién emitido, el archivo de salida para almacenar el certificado y, opcionalmente, el perfil del certificado. Especifique la sub-CA de IdM que desea emitir el certificado. Por ejemplo, para obtener un certificado del perfil
IECUserRoles
, un perfil con extensión de roles de usuario añadidos, para la entidad de créditoidm_user
@IDM.EXAMPLE.COM
desdewebclient-ca
, y guardar el certificado en el archivo~/idm_user.pem
:# ipa cert-request
certificate_request.csr
--principal=idm_user
@IDM.EXAMPLE.COM
--profile-id=IECUserRoles
--ca=webclient-ca
--certificate-out=~/idm_user.pem
Añade el certificado a la base de datos del NSS. Utilice la opción
-n
para establecer el mismo apodo que utilizó al crear la CSR anteriormente para que el certificado coincida con la clave privada en la base de datos del NSS. La opción-t
establece el nivel de confianza. Para más detalles, consulte la página man de certutil(1). La opción-i
especifica el archivo de certificado de entrada. Por ejemplo, para añadir a la base de datos del NSS un certificado con el apodoidm_user
que está almacenado en el archivo~/idm_user.pem
en la base de datos~/certdb/
:# certutil -A -d
~/certdb/
-nidm_user
-t \ "P,," -i~/idm_user.pem
Verifique que la clave en la base de datos NSS no muestra
(orphan)
como su apodo. Por ejemplo, para verificar que el certificado almacenado en la base de datos~/certdb/
no está huérfano:# certutil -K -d
~/certdb/
< 0> rsa 5ad14d41463b87a095b1896cf0068ccc467df395 NSS Certificate DB:idm_userUtilice el comando
pk12util
para exportar el certificado de la base de datos NSS al formato PKCS12. Por ejemplo, para exportar el certificado con el apodoidm_user
de la base de datos NSS/root/certdb
al archivo~/idm_user.p12
:# pk12util -d
~/certdb
-o~/idm_user.p12
-nidm_user
Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFULTransfiera el certificado al host en el que desea que se habilite la autenticación de certificados para
idm_user
:# scp
~/idm_user.p12
idm_user@client.idm.example.com:/home/idm_user/
En el host al que se ha transferido el certificado, haga que el directorio en el que se almacena el archivo .pkcs12 sea inaccesible para el grupo "otros" por razones de seguridad:
# chmod o-rwx
/home/idm_user/
Por razones de seguridad, elimine la base de datos NSS temporal y el archivo .pkcs12 del servidor:
# rm
~/certdb/
# rm~/idm_user.p12