Integrazione¶
Questo capitolo descrive come integrare NetHSM nelle applicazioni e come testare tale integrazione. Se state cercando un software che si integri già bene con NetHSM, ecco un elenco di software compatibili.
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¶
The NetHSM supports the PKCS#11 standard. The required driver is available from the repository. The repository contains the source code and libraries, for different operating systems. The PKCS#11 guide describes the usage in detail.
Sviluppo e test¶
Istanza demo¶
A public NetHSM demo instance is available at nethsmdemo.nitrokey.com.
It will be reset every eight hours (CET 6:00, 14:00, 22:00). User admin, password adminadmin, unlock password 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
$ podman 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
$ podman 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
If Podman is used with enforcing SELinux, a labeling to the volume mount might be required.
The mode of SELinux can be requested with sestatus |grep "Current mode".
If the mode is set to enforcing, a change to the context is required.
In this case the volume mount must be suffixed with :z, resulting in -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.