Integration#

Kapitlet beskriver processer for forskellige opgaver og henvender sig til alle brugergrupper.

PKCS#11#

NetHSM understøtter PKCS#11-standarden. Den nødvendige driver er tilgængelig fra repository. Repository’et indeholder kildekoden og biblioteker til forskellige operativsystemer. ` PKCS#11 guide <pkcs11-setup.html>`_ beskriver brugen i detaljer.

Udvikling og afprøvning#

En offentlig NetHSM-demoinstans er tilgængelig på nethsmdemo.nitrokey.com. Den vil blive nulstillet hver ottende time (CET 6:00, 14:00, 22:00). Bruger »admin«, adgangskode »adminadmin«, oplåsningsadgangskode »unlockunlock«.

Alternativt kan du køre NetHSM som en Docker-container lokalt.

Beholderen kan udføres på følgende måde.

$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing

Dette vil give adgang til REST API’et på port 8443 via HTTPS-protokollen.

Vigtigt

Beholderen bruger et selvsigneret TLS-certifikat. Sørg for at bruge de korrekte forbindelsesindstillinger for at oprette en forbindelse. Se kapitel NetHSM-introduktion for at få mere at vide.

Integration til brugerdefineret applikation#

For at integrere NetHSM i egne brugerdefinerede applikationer er klientbiblioteker tilgængelige for næsten alle programmeringssprog. Her er biblioteker til Python og Rust samt denne 3. parts Rust crate. Til alle andre programmeringssprog anbefaler vi at bruge OpenAPI Generator.

Listen over alle tilgængelige sprog kan hentes på følgende måde.

$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable

NetHSM-klienten kan genereres til dit programmeringssprog på følgende måde.

$ 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 genererede klientkode, i dette eksempel JavaScript, vil blive oprettet i mappen ./out/. Denne mappe indeholder også den nødvendige dokumentation for, hvordan den skal bruges.

Vigtigt

Hvis Podman bruges med håndhævelse af SELinux, kan det være nødvendigt at mærke volumenmonteringen. Tilstanden for SELinux kan anmodes med sestatus |grep "Current mode". Hvis tilstanden er indstillet til enforcing, er en ændring af konteksten nødvendig. I dette tilfælde skal volumenmonteringen efterfixeres med :z, hvilket resulterer i -v "${PWD}/out:/out:z".

REST-API#

NetHSM’s API-specifikation er tilgængelig i OpenAPI format, og kan inspiceres og testes i API browser.