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