Integrazione

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

REST-API

L’interfaccia principale di NetHSM è una moderna REST-API che garantisce le migliori prestazioni e funzionalità. Le specifiche dell’API sono disponibili nel formato OpenAPI, e possono essere ispezionate e testate nel browser API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .

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 l’uso in dettaglio.

Sviluppo e test

Istanza demo

Un’istanza demo pubblica di NetHSM è disponibile all’indirizzo nethsmdemo.nitrokey.com. Verrà ripristinata ogni otto ore (CET 6:00, 14:00, 22:00). Utente «admin», password «adminadmin», password di sblocco «unlockunlock».

Immagine del contenitore

Le immagini del contenitore NetHSM ` <container/index.html>` __ sono disponibili per il test e la produzione.

Integrazione all’applicazione personalizzata

To integrate the NetHSM into own custom applications, client libraries are available for almost all programming languages. Here are our libraries for Python and Rust as well as 3rd party Rust crate and Go library. For all other programming languages we recommend using OpenAPI Generator.

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

$ docker run --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.

Importante

Se Podman viene usato con SELinux, potrebbe essere necessaria un’etichettatura del montaggio del volume. La modalità di SELinux può essere richiesta con sestatus |grep "Current mode". Se la modalità è impostata su enforcing, è necessaria una modifica del contesto. In questo caso il montaggio del volume deve essere postfissato con :z, ottenendo -v "${PWD}/out:/out:z".

Interfaccia a riga di comando

Gli utenti possono amministrare e utilizzare un NetHSM utilizzando un’interfaccia a riga di comando (CLI) dedicata. Nitrokey offre nitropy, che è distribuito nel crate Python pynitrokey. Con nethsm esiste un’applicazione alternativa di terze parti, sviluppata nel crate Rust nethsm-cli.