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