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

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.