EJBCA#
EJBCA - это программное обеспечение центра сертификации PKI, доступное с открытым исходным кодом.
Для использования NetHSM с EJBCA необходимо сначала настроить модуль NetHSM PKCS#11.
Затем настройте EJBCA на использование модуля NetHSM PKCS#11, добавив соответствующую запись в файл /etc/ejbca/conf/web.properties
:
cryptotoken.p11.lib.418.name=NetHSM
cryptotoken.p11.lib.418.file=/usr/lib/nitrokey/libnethsm_pkcs11.so
Примечание
418
в имени - это индекс, который должен быть уникальным для каждого модуля PKCS#11 в конфигурационном файле.
Чтобы иметь возможность генерировать ключи из интерфейса, необходимо установить опцию enable_set_attribute_value
в true в файле p11nethsm.conf
.
Предупреждение
Из-за некоторых проблем с интеграцией с провайдером Sun PKCS11 ключи, сгенерированные из EJBCA, будут иметь случайное имя вместо имени, заданного в интерфейсе.
После перезапуска EJBCA вы можете добавить новый крипто-токен в графическом интерфейсе администратора EJBCA https://mycahostname/ejbca/adminweb/cryptotoken/cryptotokens.xhtml
. Тип криптографического токена - PKCS#11 Crypto Token
, имя криптографического токена - NetHSM
.
Выполнение примера#
Если вы хотите поэкспериментировать с приведенным примером, то можете с помощью git клонировать репозиторий nethsm-pkcs11 и выполнить следующие команды:
Настройте NetHSM, либо реальный, либо контейнер. Дополнительную информацию см. в руководстве по началу работы ` <getting-started>`__.
Измените конфигурацию libnethsm_pkcs11 в соответствии с вашим NetHSM в разделе
container/ejbca/p11nethsm.conf
.Постройте контейнер.
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/.