EJBCA

备注

EJBCA 至少需要 NetHSM v3 和 nethsm-pkcs11 v2。

EJBCA is a PKI Certificate Authority software available in both Community (CE) and Enterprise Edition (EE).

EJBCA Community

EJBCA Community Edition 是一款开源 PKI 证书管理机构软件。

To be able to use NetHSM with EJBCA CE you need to setup the NetHSM PKCS#11 module first.

然后在``/etc/ejbca/conf/web.properties`` 文件中添加一个条目,配置 EJBCA 以使用 NetHSM PKCS#11 模块:

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

备注

名称中的``418`` 是一个索引,对于配置文件中的每个 PKCS#11 模块都必须是唯一的。

重新启动 EJBCA 后,你可以在 EJBCA 管理 GUI``https://mycahostname/ejbca/adminweb/cryptotoken/cryptotokens.xhtml`` 添加一个新的加密令牌。加密令牌类型是``PKCS#11 Crypto Token``,加密令牌名称是``NetHSM``。

Docker Example

We provide an example setup using docker for testing. If you want to experiment with it you can use git to clone the nethsm-pkcs11 repository and then follow the steps described in the file container/ejbca/README.md.

EJBCA Enterprise

EJBCA 企业版提供高级功能和企业支持。

EJBCA EE 的配置与社区版不同。企业版不直接在 EJBCA 中配置 PKCS#11 模块,而是使用**sidecar container** 方法。这个侧载容器提供了与 NetHSM 的 p11ng(下一代 PKCS#11)连接,实现了无缝集成,而无需修改主 EJBCA 容器。

有关使用 EJBCA EE 配置硬件安全模块 (HSM) 的详细信息,请参阅`EJBCA HSM 官方文档<https://docs.keyfactor.com/ejbca/latest/hardware-security-modules-hsm>`__。

Docker Setup

我们为 EJBCA EE 与 NetHSM 的集成提供完整的容器化设置。设置包括

  • EJBCA EE container

  • NetHSM PKCS#11 副卡容器 (p11ng)

  • 用于测试的 NetHSM 容器

您可以在`container/ejbca-ee/ 目录<https://github.com/Nitrokey/nethsm-pkcs11/tree/main/container/ejbca-ee>`__netHSM-pkcs11资源库中找到容器镜像和配置。

该目录包含一个完整的``docker-compose.yml`` 文件,可调用所有必要的组件,包括一个用于测试的 NetHSM 实例。这为实验 EJBCA EE 和 NetHSM 集成提供了一个随时可用的环境。

备注

Dockerfile` 和 ` ` 包含对官方软件源的引用,使用前请确保运行 ` 。`docker-compose.yml docker login

目前的一个限制是,无法为特定*Crypto Token* 选择*Padding Scheme* 。因此,RSA 将始终使用 PKCS#1 填充(而不是 PSS)。