Integration#
Kapitlet beskriver processer för olika uppgifter och riktar sig till alla användargrupper.
REST-API#
NetHSM:s primära gränssnitt är ett modernt REST-API som garanterar bästa prestanda och funktionalitet. API-specifikationen finns tillgänglig i OpenAPI-format och kan inspekteras och testas i API browser.
PKCS#11#
NetHSM stöder standarden PKCS#11. Den drivrutin som krävs finns tillgänglig i repository. Repository innehåller källkod och bibliotek för olika operativsystem. I PKCS#11 guide beskrivs användningen i detalj.
Utveckling och testning#
Demo-instans#
En offentlig NetHSM-demoinstans finns tillgänglig på nethsmdemo.nitrokey.com. Den kommer att återställas var åttonde timme (CET 6:00, 14:00, 22:00). Användare ”admin”, lösenord ”adminadmin”, upplåsningslösenord ”unlockunlock”.
Containerbild#
NetHSM container images are available for testing and production.
Integration i anpassad applikation#
För att integrera NetHSM i egna anpassade applikationer finns klientbibliotek tillgängliga för nästan alla programmeringsspråk. Här finns bibliotek för Python och Rust samt denna tredjeparts Rust crate. För alla andra programmeringsspråk rekommenderar vi att du använder OpenAPI Generator.
Listan över alla tillgängliga språk kan hämtas på följande sätt.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
NetHSM-klienten kan genereras för ditt programmeringsspråk på följande sätt.
$ 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
Den genererade klientkoden, i det här exemplet JavaScript, skapas i katalogen ./out/
. Denna mapp innehåller också den nödvändiga dokumentationen om hur den ska användas.
Viktigt
Om Podman används för att upprätthålla SELinux kan det krävas en märkning av volymmonteringen. Läget för SELinux kan begäras med sestatus |grep "Current mode"
. Om läget är inställt på enforcing
krävs en ändring av kontexten. I detta fall måste volymmonteringen efterfixeras med :z
, vilket resulterar i -v "${PWD}/out:/out:z"
.
Kommandoradsgränssnitt#
Användare kan administrera och använda en NetHSM med hjälp av ett särskilt kommandoradsgränssnitt (CLI). Nitrokey erbjuder nitropy
, som distribueras i den Python-baserade pynitrokey. Med nethsm
finns en alternativ tredjepartsapplikation, som är utvecklad i Rust crate nethsm-cli.