Integrace#
Kapitola popisuje procesy pro různé úkoly a je zaměřena na všechny skupiny uživatelů.
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í#
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“.
Případně můžete NetHSM spustit jako kontejner Docker lokálně.
Kontejner lze spustit následujícím způsobem.
$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing
$ podman run --rm -ti -p8443:8443 docker.io/nitrokey/nethsm:testing
Tímto způsobem se poskytne rozhraní REST API na portu 8443 prostřednictvím protokolu HTTPS.
Důležité
Kontejner používá certifikát TLS s vlastním podpisem. Ujistěte se, že pro navázání spojení používáte správné nastavení připojení. Více informací naleznete v kapitole Úvod do NetHSM.
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 Rust a Python. 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"
.
REST-API#
Specifikace rozhraní API NetHSM je k dispozici ve formátu OpenAPI a lze ji zkontrolovat a otestovat v prohlížeči rozhraní API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .