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