Integrácia¶
Táto kapitola opisuje, ako integrovať NetHSM do aplikácií a ako túto integráciu otestovať. Ak hľadáte softvér, ktorý sa už dobre integruje s NetHSM, tu je zoznam kompatibilného softvéru .
REST-API¶
Primárnym rozhraním NetHSM je moderné REST-API, ktoré zaručuje najlepší výkon a funkčnosť. Špecifikácia API je k dispozícii vo formáte OpenAPI, pričom ju možno skontrolovať a otestovať v prehliadači 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.
Vývoj a testovanie¶
Ukážková inštancia¶
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.
Obrázok kontajnera¶
Obrazy kontajnerov NetHSM ` <container/index.html>` __ sú k dispozícii na testovanie a produkciu.
Integrácia do vlastnej aplikácie¶
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.
Zoznam všetkých dostupných jazykov môžete získať takto.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
Klienta NetHSM je možné vygenerovať pre váš programovací jazyk nasledovne.
$ 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
Vygenerovaný klientsky kód, v tomto príklade JavaScript, bude vytvorený v adresári ./out/. Tento adresár obsahuje aj potrebnú dokumentáciu, ako ho používať.
Dôležité
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".
Rozhranie príkazového riadka¶
Používatelia môžu spravovať a používať NetHSM pomocou špecializovaného rozhrania príkazového riadka (CLI). Nitrokey ponúka nitropy, ktorý je distribuovaný v jazyku Python na báze pynitrokey. S nethsm existuje alternatívna aplikácia tretej strany, ktorá je vyvinutá v krabici Rust nethsm-cli.