EJBCA

EJBCA ist eine PKI-Zertifizierungsstellen-Software, die als Open Source verfügbar ist.

Um NetHSM mit EJBCA verwenden zu können, müssen Sie zunächst einrichten das NetHSM PKCS#11-Modul.

Dann konfigurieren Sie EJBCA für die Verwendung des NetHSM PKCS#11-Moduls, indem Sie einen Eintrag in der Datei /etc/ejbca/conf/web.properties hinzufügen:

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

Bemerkung

Das 418 im Namen ist ein Index, der für jedes PKCS#11-Modul in der Konfigurationsdatei eindeutig sein muss.

Um Schlüssel von der Schnittstelle zu erzeugen, müssen Sie die Option enable_set_attribute_value in der Datei p11nethsm.conf auf true setzen.

Warnung

Aufgrund einiger Integrationsprobleme mit dem Sun PKCS11-Anbieter haben die von EJBCA erzeugten Schlüssel einen zufälligen Namen anstelle des in der Schnittstelle angegebenen Namens.

Nach dem Neustart von EJBCA können Sie ein neues Crypto Token in der EJBCA Admin GUI https://mycahostname/ejbca/adminweb/cryptotoken/cryptotokens.xhtml hinzufügen. Der Crypto Token Typ ist PKCS#11 Crypto Token und der Crypto Token Name ist NetHSM.

Ausführen des Beispiels

Wenn Sie mit dem gegebenen Beispiel experimentieren wollen, können Sie git verwenden, um das nethsm-pkcs11 Repository zu klonen und die folgenden Befehle auszuführen:

  • Konfigurieren Sie einen NetHSM, entweder einen echten oder einen Container. Weitere Informationen finden Sie im Getting-started Guide.

  • Ändern Sie die libnethsm_pkcs11-Konfiguration, damit sie zu Ihrem NetHSM passt, unter container/ejbca/p11nethsm.conf.

  • Bauen Sie den Container.

    docker build -f container/ejbca/Dockerfile . -t pkcs-ejbca
    
  • Starten Sie den Container.

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

Der Container ist erhältlich unter https://localhost:9443/.