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.