Integrazione#

Il capitolo descrive i processi per i vari compiti e si rivolge a tutti i gruppi di utenti.

PKCS#11#

NetHSM supporta lo standard PKCS#11. Il driver necessario è disponibile presso il repository ` <https://github.com/Nitrokey/nethsm-pkcs11>` __. Il repository contiene il codice sorgente e le librerie, per diversi sistemi operativi.

La guida PKCS#11 descrive in dettaglio come utilizzarli.

Importante

Questo driver è ancora una prima implementazione Proof of Concept che implementa solo le funzioni necessarie per il funzionamento dei server TLS.

Sviluppo e test#

Un’istanza demo pubblica di NetHSM è disponibile su nethsmdemo.nitrokey.com.

In alternativa potete eseguire il contenitore Docker NetHSM localmente. Il contenitore NetHSM richiede una virtualizzazione annidata per una forte separazione con altri contenitori. Quindi, per avviare un contenitore NetHSM hai bisogno di un host Linux con /dev/kvm disponibile. Esegui questo comando:

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

Integrazione all’applicazione personalizzata#

Per integrare NetHSM nelle proprie applicazioni personalizzate, sono disponibili librerie client per quasi tutti i linguaggi di programmazione. Pertanto, si consiglia di utilizzare ` OpenAPI Generator <https://github.com/OpenAPITools/openapi-generator>`_.

L’elenco di tutte le lingue disponibili può essere recuperato come segue.

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

Il client NetHSM può essere generato per il vostro linguaggio di programmazione come 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

Il codice client generato, in questo esempio JavaScript, sarà creato nella cartella ./out/. Questa cartella contiene anche la documentazione necessaria al suo utilizzo.

REST-API#

Le specifiche API di NetHSM’sono disponibili nel formato OpenAPI e possono essere ispezionate e testate nel browser API.