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#

NetHSM container images are available for testing and production.

Integrácia do vlastnej aplikácie#

Na integráciu NetHSM do vlastných aplikácií sú k dispozícii klientske knižnice pre takmer všetky programovacie jazyky. Tu sú knižnice pre Python a Rust, ako aj tento Rust crate tretej strany. Pre všetky ostatné programovacie jazyky odporúčame použiť 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

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

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.