EJBCA¶
EJBCA è un software di autorità di certificazione PKI disponibile come open source.
Per poter utilizzare NetHSM con EJBCA, è necessario prima configurare ` <pkcs11-setup.html>`__ il modulo NetHSM PKCS#11.
Configurare quindi EJBCA per utilizzare il modulo NetHSM PKCS#11 aggiungendo una voce nel file /etc/ejbca/conf/web.properties
:
cryptotoken.p11.lib.418.name=NetHSM
cryptotoken.p11.lib.418.file=/usr/lib/nitrokey/libnethsm_pkcs11.so
Nota
Il 418
nel nome è un indice che deve essere unico per ogni modulo PKCS#11 nel file di configurazione.
Per poter generare chiavi dall’interfaccia è necessario impostare l’opzione enable_set_attribute_value
su true nel file p11nethsm.conf
.
Avvertimento
A causa di alcuni problemi di integrazione con il provider Sun PKCS11, le chiavi generate da EJBCA avranno un nome casuale invece del nome indicato nell’interfaccia.
Dopo aver riavviato EJBCA è possibile aggiungere un nuovo token di crittografia nella GUI di amministrazione di EJBCA https://mycahostname/ejbca/adminweb/cryptotoken/cryptotokens.xhtml
. Il tipo di Crypto Token è PKCS#11 Crypto Token
e il nome del Crypto Token è NetHSM
.
Esecuzione dell’esempio¶
Se si vuole sperimentare l’esempio dato, si può usare git per clonare il repository nethsm-pkcs11 ed eseguire i seguenti comandi:
Configurare un NetHSM, sia esso reale o un contenitore. Per ulteriori informazioni, consultare la guida getting-started.
Modificare la configurazione di libnethsm_pkcs11 per adattarla al proprio NetHSM in
container/ejbca/p11nethsm.conf
.Costruire il contenitore.
docker build -f container/ejbca/Dockerfile . -t pkcs-ejbca
Eseguire il contenitore.
docker run --rm -it -p 9443:8443 -p 9080:8080 -h mycahostname -e TLS_SETUP_ENABLED="simple" pkcs-ejbca
Il contenitore sarà disponibile su https://localhost:9443/.