Red Hat Training
A Red Hat training course is available for RHEL 8
Capítulo 40. Conversión de los formatos de los certificados para que funcionen con IdM
Esta historia de usuario describe cómo asegurarse de que usted, como administrador del sistema IdM, está utilizando el formato correcto de un certificado con comandos IdM específicos. Esto es útil, por ejemplo, en las siguientes situaciones:
- Está cargando un certificado externo en un perfil de usuario. Para más detalles, consulte Sección 40.2, “Conversión de un certificado externo para cargarlo en una cuenta de usuario de IdM”.
- Se utiliza un certificado de CA externa cuando se configura el servidor de IdM para la autenticación con tarjeta inteligente o se configura el cliente de IdM para la autenticación con tarjeta inteligente, de modo que los usuarios puedan autenticarse en IdM utilizando tarjetas inteligentes con certificados emitidos por la autoridad de certificación externa.
- Está exportando un certificado de una base de datos NSS a un formato pkcs #12 que incluye tanto el certificado como la clave privada. Para obtener más detalles, consulte Sección 40.3.1, “Exportación de un certificado y una clave privada de una base de datos NSS a un archivo PKCS #12”.
40.1. Formatos y codificaciones de los certificados en IdM
La autenticación de certificados, incluida la autenticación con tarjeta inteligente en IdM, se realiza comparando el certificado que presenta el usuario con el certificado, o los datos del certificado, que están almacenados en el perfil IdM del usuario.
Configuración del sistema
Lo que se almacena en el perfil IdM es sólo el certificado, no la clave privada correspondiente. Durante la autenticación, el usuario también debe demostrar que está en posesión de la clave privada correspondiente. El usuario lo hace presentando un archivo PKCS #12 que contenga tanto el certificado como la clave privada o presentando dos archivos: uno que contenga el certificado y otro que contenga la clave privada.
Por lo tanto, procesos como la carga de un certificado en un perfil de usuario sólo aceptan archivos de certificado que no contengan la clave privada.
Del mismo modo, cuando un administrador de sistemas le proporcione un certificado de CA externa, sólo le facilitará los datos públicos: el certificado sin la clave privada. La utilidad ipa-advise
para configurar el servidor IdM o el cliente IdM para la autenticación con tarjeta inteligente espera que el archivo de entrada contenga el certificado de la CA externa pero no la clave privada.
Codificaciones de los certificados
Hay dos codificaciones de certificados comunes: El correo electrónico con privacidad (PEM
) y las reglas de codificación distinguidas (DER
). El formato base64
es casi idéntico al formato PEM
pero no contiene la cabecera y el pie de página -----BEGIN CERTIFICATE-----/-----END CERTIFICATE-----
.
Un certificado codificado con DER
es un archivo binario de certificado digital X509. Como archivo binario, el certificado no es legible para las personas. Los archivos DER
utilizan a veces la extensión de nombre de archivo .der
, pero los archivos con las extensiones de nombre de archivo .crt
y .cer
también contienen a veces certificados DER
. Los archivos DER
que contienen claves pueden llamarse .key
.
Un certificado que ha sido codificado utilizando PEM
Base64 es un archivo legible para el ser humano. El archivo contiene datos blindados ASCII (Base64) precedidos de una línea "-----BEGIN ...". Los archivos PEM
utilizan a veces la extensión de nombre de archivo .pem
, pero los archivos con las extensiones de nombre de archivo .crt
y .cer
también contienen a veces certificados PEM
. Los archivos PEM
que contienen claves pueden denominarse .key
.
Los diferentes comandos de ipa
tienen diferentes limitaciones en cuanto a los tipos de certificados que aceptan. Por ejemplo, el comando ipa user-add-cert
sólo acepta certificados codificados en el formato base64
, pero ipa-server-certinstall
acepta los certificados PEM, DER, PKCS #7, PKCS #8
y PKCS #12
.
Tabla 40.1. Codificaciones de los certificados
Formato de codificación | Lectura humana | Extensiones comunes de nombres de archivos | Ejemplos de comandos IdM que aceptan el formato de codificación |
---|---|---|---|
PEM/base64 | Sí | .pem, .crt, .cer | ipa user-add-cert, ipa-server-certinstall, .. |
DER | No | .der, .crt, .cer | ipa-server-certinstall, .. |
Sección 40.4, “Comandos y formatos relacionados con los certificados en IdM” enumera otros comandos de ipa
con los formatos de certificado que aceptan los comandos.
Autenticación de usuarios
Al utilizar la interfaz web para acceder a IdM, el usuario demuestra que está en posesión de la clave privada correspondiente al certificado al tener ambos almacenados en la base de datos del navegador.
Al utilizar la CLI para acceder a IdM, el usuario demuestra que está en posesión de la clave privada correspondiente al certificado mediante uno de los siguientes métodos:
El usuario añade, como valor del parámetro
X509_user_identity
del comandokinit -X
, la ruta de acceso al módulo de tarjeta inteligente que está conectado a la tarjeta inteligente que contiene tanto el certificado como la clave:$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so'
idm_user
El usuario añade dos archivos como valores del parámetro
X509_user_identity
del comandokinit -X
, uno que contiene el certificado y el otro la clave privada:$ kinit -X X509_user_identity='FILE:`/path/to/cert.pem,/path/to/cert.key`'
idm_user
Comandos de certificado útiles
Para ver los datos del certificado, como el asunto y el emisor:
$ openssl x509 -noout -text -in ca.pem
Para comparar en qué líneas se diferencian dos certificados:
$ diff cert1.crt cert2.crt
Para comparar en qué líneas difieren dos certificados con la salida mostrada en dos columnas:
$ diff cert1.crt cert2.crt -y