EJBCA

EJBCA est un logiciel d’autorité de certification PKI disponible en open source.

Pour pouvoir utiliser NetHSM avec EJBCA, vous devez d’abord installer ` <pkcs11-setup.html>`__ le module NetHSM PKCS#11.

Configurez ensuite EJBCA pour qu’il utilise le module NetHSM PKCS#11 en ajoutant une entrée dans le fichier /etc/ejbca/conf/web.properties :

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

Note

Le nom 418 est un index qui doit être unique pour chaque module PKCS#11 dans le fichier de configuration.

Pour pouvoir générer des clés à partir de l’interface, vous devez définir l’option enable_set_attribute_value sur true dans le fichier p11nethsm.conf.

Avertissement

En raison de certains problèmes d’intégration avec le fournisseur PKCS11 de Sun, les clés générées par EJBCA auront un nom aléatoire au lieu du nom donné dans l’interface.

Après avoir redémarré EJBCA, vous pouvez ajouter un nouveau Crypto Token dans l’interface graphique d’administration d’EJBCA https://mycahostname/ejbca/adminweb/cryptotoken/cryptotokens.xhtml. Le type de jeton de cryptage est PKCS#11 Crypto Token et le nom du jeton de cryptage est NetHSM.

Exécution de l’exemple

Si vous souhaitez expérimenter avec l’exemple donné, vous pouvez utiliser git pour cloner le dépôt nethsm-pkcs11 et exécuter les commandes suivantes :

  • Configurer un NetHSM, soit un vrai, soit un conteneur. Voir le guide de démarrage pour plus d’informations.

  • Modifiez la configuration de libnethsm_pkcs11 pour qu’elle corresponde à votre NetHSM dans container/ejbca/p11nethsm.conf.

  • Construire le conteneur.

    docker build -f container/ejbca/Dockerfile . -t pkcs-ejbca
    
  • Exécuter le conteneur.

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

Le conteneur sera disponible à l’adresse suivante : https://localhost:9443/.