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/>`__で入手できる。