Integração#

O capítulo descreve processos para várias tarefas e dirige-se a todos os grupos de utilizadores.

PKCS#11#

The NetHSM supports the PKCS#11 standard. The required driver is available from the repository. The repository containes the source code and libraries, for different operating systems.

The PKCS#11 guide describes how to use them in detail.

Importante

This driver is still an early Proof of Concept implementation that only implements the functions that are necessary for operating TLS servers.

Desenvolvimento e testes#

Uma instância pública de demonstração do NetHSM está disponível em nethsmdemo.nitrokey.com.

Alternativamente, pode executar o NetHSM como um Contentor de doca localmente. O contentor NetHSM requer uma virtualização aninhada para uma forte separação com outros contentores. Assim, para iniciar um contentor NetHSM é necessário um anfitrião Linux com /dev/kvm disponível. Execute este comando:

$ sudo docker run --rm -ti --device=/dev/net/tun:/dev/net/tun --cap-add=NET_ADMIN -p8443:8443 nitrokey/nethsm:testing

Integração em aplicação personalizada#

Para integrar o NetHSM em aplicações personalizadas próprias, as bibliotecas clientes estão disponíveis para quase todas as linguagens de programação. Por conseguinte, recomendamos a utilização de `OpenAPI Generator <https://github.com/OpenAPITools/openapi-generator>>x id=»223»></x>.

A lista de todas as línguas disponíveis pode ser recuperada da seguinte forma.

$ docker run --pull --rm -ti openapitools/openapi-generator-cli list -i stable

O cliente NetHSM pode ser gerado para a sua linguagem de programação como se segue.

$ docker run --rm -ti -v "${PWD}/out:/out" openapitools/openapi-generator-cli generate -i=https://nethsmdemo.nitrokey.com/api_docs/nethsm-api.yaml -o out -g javascript

O código do cliente gerado, neste exemplo JavaScript, será criado no diretório ./out/. Esta pasta também contém a documentação necessária para a sua utilização.

REST-API#

A especificação NetHSM’s API está disponível em OpenAPI format, e pode ser inspeccionada e testada em API browser>.