Red Hat Training
A Red Hat training course is available for RHEL 8
44.2. Solicitar un nuevo certificado de usuario y exportarlo al cliente
Como administrador de Gestión de Identidades (IdM), puede crear certificados para los usuarios de su entorno IdM y exportarlos a los clientes IdM en los que desee habilitar la autenticación de certificados para los usuarios.
Puede omitir esta sección si el usuario que desea autenticar utilizando un certificado ya tiene un certificado.
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. Por ejemplo, para obtener un certificado del perfil
IECUserRoles
, un perfil con extensión de roles de usuario añadidos, para la entidad de seguridadidm_user
@IDM.EXAMPLE.COM
, y guardarlo en el archivo~/idm_user.pem
:# ipa cert-request
certificate_request.csr
--principal=idm_user
@IDM.EXAMPLE.COM
--profile-id=IECUserRoles
--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