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