EJBCA

EJBCA es un software de Autoridad de Certificación PKI disponible como código abierto.

Para poder utilizar NetHSM con EJBCA es necesario configurar primero ` <pkcs11-setup.html>`__ el módulo PKCS#11 de NetHSM.

A continuación, configure EJBCA para que utilice el módulo PKCS#11 de NetHSM añadiendo una entrada en el archivo /etc/ejbca/conf/web.properties:

cryptotoken.p11.lib.418.name=NetHSM
cryptotoken.p11.lib.418.file=/usr/lib/nitrokey/libnethsm_pkcs11.so

Nota

El 418 en el nombre es un índice que debe ser único para cada módulo PKCS#11 en el archivo de configuración.

Para poder generar claves desde la interfaz, debe establecer la opción enable_set_attribute_value en true en el archivo p11nethsm.conf.

Advertencia

Debido a algunos problemas de integración con el proveedor Sun PKCS11, las claves generadas desde EJBCA tendrán un nombre aleatorio en lugar del nombre dado en la interfaz.

Tras reiniciar EJBCA, puede añadir un nuevo token criptográfico en la interfaz gráfica de usuario del administrador de EJBCA https://mycahostname/ejbca/adminweb/cryptotoken/cryptotokens.xhtml. El tipo de token criptográfico es PKCS#11 Crypto Token y el nombre del token criptográfico es NetHSM.

Ejecución del ejemplo

Si quieres experimentar con el ejemplo dado puedes usar git para clonar el repositorio nethsm-pkcs11 y ejecutar los siguientes comandos:

  • Configure un NetHSM, ya sea uno real o un contenedor. Consulte la guía de inicio para obtener más información.

  • Cambie la configuración de libnethsm_pkcs11 para que coincida con su NetHSM en container/ejbca/p11nethsm.conf.

  • Construye el contenedor.

    docker build -f container/ejbca/Dockerfile . -t pkcs-ejbca
    
  • Ejecuta el contenedor.

    docker run --rm -it -p 9443:8443 -p 9080:8080 -h mycahostname -e TLS_SETUP_ENABLED="simple" pkcs-ejbca
    

El contenedor estará disponible en https://localhost:9443/.