EJBCA¶
`EJBCA<https://www.ejbca.org/>`__は、オープンソースで利用可能なPKI認証局ソフトウェアです。
<pkcs11-setup.html>`NetHSM を EJBCA で使用するには、`__ NetHSM PKCS#11 モジュールをセットアップする必要があります。
次に、/etc/ejbca/conf/web.properties
ファイルにエントリーを追加して、NetHSM PKCS#11 モジュールを使用するように EJBCA を設定する:
cryptotoken.p11.lib.418.name=NetHSM
cryptotoken.p11.lib.418.file=/usr/lib/nitrokey/libnethsm_pkcs11.so
注釈
名前の``418`` は、コンフィギュレーション・ファイル内の各PKCS#11モジュールで一意でなければならないインデックスである。
インターフェースから鍵を生成できるようにするには、p11nethsm.conf
ファイルで``enable_set_attribute_value`` オプションをtrueに設定する必要がある。
警告
Sun PKCS11プロバイダーとの統合に問題があるため、EJBCAから生成される鍵は、インターフェイスで指定された名前ではなく、ランダムな名前になる。
EJBCAを再起動した後、EJBCA Admin GUI``https://mycahostname/ejbca/adminweb/cryptotoken/cryptotokens.xhtml``で新しいCrypto Tokenを追加できる。Crypto Token タイプは``PKCS#11 Crypto Token`` で、Crypto Token 名は``NetHSM`` である。
例の実行¶
与えられた例で実験したい場合は、gitを使って`nethsm-pkcs11リポジトリ<https://github.com/Nitrokey/nethsm-pkcs11>`__をクローンし、以下のコマンドを実行することができます:
NetHSMを設定する。本物のNetHSMでもコンテナでもよい。詳しくは`getting-started guide<getting-started>`__ を参照。
container/ejbca/p11nethsm.conf
にある libnethsm_pkcs11 の設定をお使いの NetHSM に合わせて変更してください。コンテナを作る。
docker build -f container/ejbca/Dockerfile . -t pkcs-ejbca
コンテナを実行する。
docker run --rm -it -p 9443:8443 -p 9080:8080 -h mycahostname -e TLS_SETUP_ENABLED="simple" pkcs-ejbca
コンテナは`https://localhost:9443/<https://localhost:9443/>`__で入手できる。