Uso de YubiKeys con EJBCA
La mayoría de las instalaciones seguras contendrán claves de inicio de sesión de administrador en un token externo en lugar de almacenarlas como almacenes de claves programables en la máquina local.
A continuación se describe cómo instalar y usar YubiKey de Yubico. Para más información sobre Yubico, visite www.yubico.com .
Prerrequisitos
Para comenzar, necesita tener lo siguiente instalado en su estación de trabajo:
La implementación de OpenSC PKCS#11, consulte OpenSC.
El administrador de YubiKey, ya sea la interfaz de usuario de YubiKey Manager o la CLI de Yubikey Manager .
Se recomienda un navegador compatible, Firefox o Chrome.
Sigue los pasos a continuación para empezar a usar tu YubiKey con EJBCA. Las instrucciones utilizan Firefox y YubiKey Manager en macOS.
Paso 1: Crear un par de claves en YubiKey
Para crear un par de claves en su YubiKey en macOS, haga lo siguiente:
Inicie el Administrador YubiKey.

Seleccione Aplicaciones > PIV y haga clic en Configurar certificados .
En la pestaña Autenticación , haga clic en Generar para crear un nuevo par de claves en el token.
Seleccione Solicitud de firma de certificado (CSR) y haga clic en Siguiente.

Complete el asistente especificando un algoritmo de clave, un tamaño de clave y configurando el nombre común para su token.
Por último, haga clic en Generar para recuperar un CSR que puede usar para inscribir el par de claves en EJBCA.
El PIN predeterminado es 123456, consulte la documentación de introducción al PIN de YubiKey .
Paso 2: Inscriba la YubiKey en EJBCA
Tenga en cuenta que los requisitos previos para inscribir YubiKey en EJBCA son que EJBCA esté configurado con los perfiles adecuados para emitir certificados de cliente y que usted tenga un certificado de autenticación para iniciar sesión en EJBCA como administrador de RA para emitir certificados.
Para inscribir el par de claves recién creado mediante la interfaz de usuario de EJBCA RA, haga lo siguiente:
En EJBCA, haga clic en RA Web para ir a la interfaz de usuario de RA de EJBCA .
Haga clic en Inscribirse , seleccione el tipo y subtipo de certificado apropiado y luego haga clic en Generado por usuario para cargar su CSR generado en el paso 1.

Especifique cualquier información relevante y haga clic en Descargar PEM para guardar el archivo.
Paso 3: Importar certificado a YubiKey
Para importar el certificado a YubiKey en macOS, haga lo siguiente
Abra el Administrador de YubiKey , seleccione Aplicaciones > PIV y haga clic en Configurar certificados .
Haga clic en Importar y seleccione el nuevo certificado recién generado.

Los detalles del certificado se muestran en la pestaña Autenticación y YubiKey ahora está activo y funcionando.
Paso 4: Configurar Firefox para usar YubiKey
(ver notas a continuación para configurar Chromium)
Para configurar Firefox para usar YubiKey, haga lo siguiente:
Abra Firefox e ingrese about:preferences en la barra de direcciones.
Haga clic en Privacidad y seguridad y luego en Dispositivos de seguridad.
Haga clic en Cargar para instalar el controlador PKCS#11 de OpenSC.

Cambie el nombre del módulo y haga clic en Explorar para localizar la biblioteca opensc-pkcs11.so (o similar).

Verifique que YubiKey se muestre como un nuevo módulo de seguridad y haga clic en Aceptar para cerrar el Administrador de dispositivos.

Paso 5: Configurar los derechos de acceso en EJBCA
Para configurar los derechos de acceso en EJBCA mediante roles , haga lo siguiente:
En la interfaz de usuario de CA EJBCA, haga clic en Roles y cree un nuevo rol o agregue el nuevo administrador a un rol existente.

Para agregar el administrador a un rol existente, haga clic en Miembros , seleccione la CA adecuada e ingrese la información que identifique el certificado, preferiblemente el número de serie.

Para encontrar el número de serie, vea el certificado en OpenSSL usando el siguiente comando:
$ openssl x509 -inalanwidget.pem -text -nooutEl número de serie se puede copiar, convertir de hexadecimal a decimal mediante un convertidor y luego usar en EJBCA.
Por último, haga clic en Reglas de acceso y configure las reglas necesarias para su administrador.
La próxima vez que inicie una nueva sesión, su YubiKey se ofrecerá como una opción para identificación: 
Notas adicionales
Configuración de OpenSC PKCS#11 en Chrome
Para agregar el módulo OpenSC PKCS#11 a Chrome o Chromium:
Apaga Chrome.
Asegúrese de que libnss-tools esté instalado. Por ejemplo, en Ubuntu:
sudo apt install libnss3-toolsInstalar OpenSC como módulo en NSS:
modutil -dbdir sql:$HOME/.pki/nssdb/ -add"OpenSC"-libfile /usr/lib/x86_64-linux-gnu/opensc-pkcs11.soCompruebe que el módulo se instaló:
modutil -dbdir sql:$HOME/.pki/nssdb/ -listAbra la interfaz de administración de EJBCA en Chrome e ingrese su PIN cuando se le solicite.

