EJBCA

Warnung

Because of some integration problems with the Sun PKCS11 provider, keys generated from EJBCA will have a random name instead of the name given in the interface. Therefor this documentation is only a Proof-of-Concept and we don’t currently support 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.

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:

  • Configure a NetHSM, either a real one or a container. Refer to chapter Getting Started to learn more.

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