Integration¶
Kapitlet beskriver processer for forskellige opgaver og henvender sig til alle brugergrupper.
REST-API¶
NetHSM’s primære grænseflade er et moderne REST-API, der garanterer den bedste ydeevne og funktionalitet. API-specifikationen er tilgængelig i OpenAPI-format, og kan inspiceres og testes i API-browseren.
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¶
Demo-instans¶
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«.
Containerbillede¶
NetHSM containerbilleder er tilgængelige til test og produktion.
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
$ podman 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
$ 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 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"
.
Kommandolinje-grænseflade¶
Brugere kan administrere og bruge en NetHSM ved hjælp af en dedikeret kommandolinjegrænseflade (CLI). Nitrokey tilbyder nitropy
, som er distribueret i den Python-baserede pynitrokey. Med nethsm
findes der en alternativ tredjepartsapplikation, som er udviklet i Rust crate nethsm-cli.