EJBCA

Aviso

Because of some integration problems with the Sun PKCS11 provider, keys generated from EJBCA will have a random name instead of the name given in the interface. Therefor this documentation is only a Proof-of-Concept and we don’t currently support EJBCA.

EJBCA é um software de Autoridade de Certificação PKI disponível como código aberto.

Para poder utilizar o NetHSM com o EJBCA, é necessário configurar primeiro o módulo NetHSM PKCS#11.

Em seguida, configure o EJBCA para utilizar o módulo NetHSM PKCS#11, adicionando uma entrada no ficheiro /etc/ejbca/conf/web.properties:

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

Nota

O 418 no nome é um índice que deve ser único para cada módulo PKCS#11 no ficheiro de configuração.

Para poder gerar chaves a partir da interface, é necessário definir a opção enable_set_attribute_value como verdadeira no ficheiro p11nethsm.conf.

Depois de reiniciar o EJBCA, pode adicionar um novo Crypto Token na GUI de administração do EJBCA https://mycahostname/ejbca/adminweb/cryptotoken/cryptotokens.xhtml. O tipo de Crypto Token é PKCS#11 Crypto Token e o nome do Crypto Token é NetHSM.

Executando o exemplo

Se quiser experimentar o exemplo dado, pode utilizar o git para clonar o repositório nethsm-pkcs11 e executar os seguintes comandos:

  • Configure a NetHSM, either a real one or a container. Refer to chapter Getting Started to learn more.

  • Altere a configuração da libnethsm_pkcs11 para corresponder ao seu NetHSM em container/ejbca/p11nethsm.conf.

  • Construir o contentor.

    docker build -f container/ejbca/Dockerfile . -t pkcs-ejbca
    
  • Run the container.

    docker run --rm -it -p 9443:8443 -p 9080:8080 -h mycahostname -e TLS_SETUP_ENABLED="simple" pkcs-ejbca
    

Configure o motor OpenSSL seguindo o guia de configuração do motor OpenSSL <x id=»43»></x> <x id=»72»></x><x id=»93»></x> __.