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/.