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.

Nota

Puede omitir esta sección si el usuario que desea autenticar utilizando un certificado ya tiene un certificado.

Procedimiento

  1. 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:
  2. 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 bits 4096 para el usuario idm_user en el ámbito IDM.EXAMPLE.COM, estableciendo el apodo de las claves privadas del certificado como idm_user para facilitar su localización, y estableciendo el asunto como CN=idm_user,O=IDM.EXAMPLE.COM:

    # certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s \ "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csr
  3. 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:
  4. 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 seguridad idm_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
  5. 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 apodo idm_user que está almacenado en el archivo ~/idm_user.pem en la base de datos ~/certdb/:

    # certutil -A -d ~/certdb/ -n idm_user -t \ "P,," -i ~/idm_user.pem
  6. 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_user
  7. Utilice el comando pk12util para exportar el certificado de la base de datos NSS al formato PKCS12. Por ejemplo, para exportar el certificado con el apodo idm_user de la base de datos NSS /root/certdb al archivo ~/idm_user.p12:

    # pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user
    Enter Password or Pin for "NSS Certificate DB":
    Enter password for PKCS12 file:
    Re-enter password:
    pk12util: PKCS12 EXPORT SUCCESSFUL
  8. Transfiera 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/
  9. 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/
  10. Por razones de seguridad, elimine la base de datos NSS temporal y el archivo .pkcs12 del servidor:

    # rm ~/certdb/
    # rm ~/idm_user.p12