Integrácia¶
Kapitola opisuje procesy pre rôzne úlohy a je zameraná na všetky skupiny používateľov.
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¶
NetHSM podporuje štandard PKCS#11. Potrebný ovládač je k dispozícii v úložisku ` <https://github.com/Nitrokey/nethsm-pkcs11>`__. Úložisko obsahuje zdrojový kód a knižnice pre rôzne operačné systémy. V príručke PKCS#11 je podrobne opísané použitie.
Vývoj a testovanie¶
Ukážková inštancia¶
Verejná demo inštancia NetHSM je k dispozícii na adrese nethsmdemo.nitrokey.com. Obnovuje sa každých osem hodín (6:00, 14:00, 22:00 SEČ). Používateľ „admin“, heslo „adminadmin“, heslo na odomknutie „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é
Ak sa Podman používa s vynútením SELinuxu, môže byť potrebné označenie pripojenia zväzku. Režim SELinuxu možno vyžiadať pomocou sestatus |grep "Current mode"
. Ak je režim nastavený na enforcing
, je potrebná zmena kontextu. V takom prípade sa musí pripojenie zväzku dodatočne označiť pomocou :z
, čím vznikne -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.