Integrace#

Kapitola popisuje procesy pro různé úkoly a je zaměřena na všechny skupiny uživatelů.

REST-API#

Primárním rozhraním NetHSM je moderní REST-API, které zaručuje nejlepší výkon a funkčnost. Specifikace API je k dispozici ve formátu OpenAPI, a lze ji zkontrolovat a otestovat v prohlížeči API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .

PKCS#11#

NetHSM podporuje standard PKCS#11. Potřebný ovladač je k dispozici v úložišti ` <https://github.com/Nitrokey/nethsm-pkcs11>`__. Úložiště obsahuje zdrojové kódy a knihovny pro různé operační systémy. Podrobně je použití popsáno v příručce PKCS#11.

Vývoj a testování#

Ukázková instance#

Veřejná ukázková instance NetHSM je k dispozici na adrese nethsmdemo.nitrokey.com. Bude resetována každých osm hodin (6:00, 14:00, 22:00 SEČ). Uživatel „admin“, heslo „adminadmin“, heslo pro odemknutí „unlockunlock“.

Obrázek kontejneru#

Obrazy kontejnerů NetHSM ` <container/index.html>` __ jsou k dispozici pro testování a produkci.

Integrace do vlastní aplikace#

Pro integraci NetHSM do vlastních aplikací jsou k dispozici klientské knihovny pro téměř všechny programovací jazyky. Zde jsou knihovny pro Python a Rust a také tento Rust crate třetí strany. Pro všechny ostatní programovací jazyky doporučujeme použít OpenAPI Generator.

Seznam všech dostupných jazyků lze získat takto.

$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable

Klienta NetHSM lze pro váš programovací jazyk vygenerovat následujícím způsobem.

$ 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ý klientský kód, v tomto případě JavaScript, bude vytvořen v adresáři ./out/. Tento adresář obsahuje také potřebnou dokumentaci, jak jej používat.

Důležité

Pokud je Podman používán s vynucením SELinuxu, může být vyžadováno označení připojení svazku. Režim SELinuxu lze vyžádat pomocí sestatus |grep "Current mode". Pokud je režim nastaven na enforcing, je nutná změna kontextu. V takovém případě musí být připojení svazku dodatečně označeno pomocí :z, čímž vznikne -v "${PWD}/out:/out:z".

Rozhraní příkazového řádku#

Uživatelé mohou spravovat a používat NetHSM pomocí vyhrazeného rozhraní příkazového řádku (CLI). Nitrokey nabízí nitropy, který je distribuován v jazyce Python založeném na pynitrokey. S nethsm existuje alternativní aplikace třetí strany, která je vyvinuta v krabici Rust nethsm-cli.