Integrace¶
Tato kapitola popisuje, jak integrovat NetHSM do aplikací a jak tuto integraci otestovat. Pokud hledáte software, který se již dobře integruje s NetHSM, zde je seznam kompatibilního softwaru .
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¶
The NetHSM supports the PKCS#11 standard. The required driver is available from the repository. The repository contains the source code and libraries, for different operating systems. The PKCS#11 guide describes the usage in detail.
Vývoj a testování¶
Ukázková instance¶
A public NetHSM demo instance is available at nethsmdemo.nitrokey.com.
It will be reset every eight hours (CET 6:00, 14:00, 22:00). User admin, password adminadmin, unlock password 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é
If Podman is used with enforcing SELinux, a labeling to the volume mount might be required.
The mode of SELinux can be requested with sestatus |grep "Current mode".
If the mode is set to enforcing, a change to the context is required.
In this case the volume mount must be suffixed with :z, resulting in -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.