Integration#

Kapitlet beskriver processer för olika uppgifter och riktar sig till alla användargrupper.

PKCS#11#

NetHSM stöder PKCS#11-standarden. Den nödvändiga drivrutinen finns tillgänglig i repository. Förrådet innehåller källkod och bibliotek för olika operativsystem.

I PKCS#11-guiden beskrivs hur man använder dem i detalj.

Viktigt

Den här drivrutinen är fortfarande en tidig Proof of Concept-implementation som endast implementerar de funktioner som är nödvändiga för att driva TLS-servrar.

Utveckling och testning#

En offentlig NetHSM-demoinstans finns på nethsmdemo.nitrokey.com.

Alternativt kan du köra NetHSM som en Docker-behållare lokalt. NetHSM-behållaren kräver inbäddad virtualisering för stark separation med andra behållare. För att starta en NetHSM-container behöver du alltså en Linuxvärd med /dev/kvm tillgänglig. Utför det här kommandot:

$ sudo docker run --rm -ti --device=/dev/net/tun:/dev/net/tun --cap-add=NET_ADMIN -p8443:8443 nitrokey/nethsm:testing

Integrering i en anpassad applikation#

För att integrera NetHSM i egna anpassade applikationer finns klientbibliotek för nästan alla programmeringsspråk. Därför rekommenderar vi att man använder OpenAPI Generator.

Listan över alla tillgängliga språk kan hämtas på följande sätt.

$ docker run --pull --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

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.

REST-API#

NetHSM’s API-specifikation finns tillgänglig i OpenAPI-format, och kan inspekteras och testas i API-browser.