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

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".

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.