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