Integracija¶
Poglavje opisuje postopke za različna opravila in je namenjeno vsem skupinam uporabnikov.
REST-API¶
Primarni vmesnik NetHSM je sodoben vmesnik REST-API, ki zagotavlja najboljšo zmogljivost in funkcionalnost. Specifikacija API je na voljo v formatu OpenAPI, pregledati in preizkusiti pa jo je mogoče v brskalniku API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .
PKCS#11¶
NetHSM podpira standard PKCS#11. Potrebni gonilnik je na voljo v skladišču ` <https://github.com/Nitrokey/nethsm-pkcs11>`__. Repozitorij vsebuje izvorno kodo in knjižnice za različne operacijske sisteme. V vodniku PKCS#11 je podrobno opisana uporaba.
Razvoj in preskušanje¶
Predstavitvena instanca¶
Javni demo primerek NetHSM je na voljo na naslovu nethsmdemo.nitrokey.com. Ponastavljena bo vsakih osem ur (6:00, 14:00, 22:00 po srednjeevropskem času). Uporabnik „admin“, geslo „adminadmin“, geslo za odklepanje „unlockunlock“.
Slika zabojnika¶
NetHSM slike vsebnikov so na voljo za testiranje in produkcijo.
Integracija v aplikacijo po meri¶
Za vključitev sistema NetHSM v lastne aplikacije po meri so na voljo odjemalske knjižnice za skoraj vse programske jezike. Tukaj so knjižnice za Python in Rust ter ta tretja stran Rust crate. Za vse druge programske jezike priporočamo uporabo OpenAPI Generator.
Seznam vseh razpoložljivih jezikov lahko dobite na naslednji način.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
Odjemalec NetHSM se lahko ustvari za vaš programski jezik na naslednji način.
$ 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
Ustvarjena odjemalčeva koda, v tem primeru JavaScript, bo ustvarjena v imeniku ./out/
. Ta mapa vsebuje tudi potrebno dokumentacijo, kako jo uporabljati.
Pomembno
Če se Podman uporablja z uveljavljanjem SELinuxa, bo morda potrebna oznaka za priklop zvezka. Način SELinuxa lahko zahtevate s sestatus |grep "Current mode"
. Če je način nastavljen na enforcing
, je potrebna sprememba konteksta. V tem primeru je treba priklop zvezka naknadno označiti z :z
, kar povzroči -v "${PWD}/out:/out:z"
.
Vmesnik ukazne vrstice¶
Uporabniki lahko upravljajo in uporabljajo NetHSM z namenskim vmesnikom ukazne vrstice (CLI). Nitrokey ponuja nitropy
, ki se distribuira v programskem okolju pynitrokey, ki temelji na Pythonu. Z nethsm
obstaja alternativna aplikacija tretje osebe, ki je razvita v gruči Rust nethsm-cli.