Integracija#

Poglavje opisuje postopke za različna opravila in je namenjeno vsem skupinam uporabnikov.

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 testiranje#

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

NetHSM lahko zaženete tudi kot vsebnik Docker lokalno.

Posodo lahko izvedete na naslednji način.

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

To bo omogočilo API REST na vratih 8443 prek protokola HTTPS.

Pomembno

Posoda uporablja samopodpisano potrdilo TLS. Poskrbite, da boste za vzpostavitev povezave uporabili pravilne nastavitve povezave. Če želite izvedeti več, si oglejte poglavje Uvod v NetHSM.

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 Rust in Python. 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

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

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

REST-API#

Specifikacija API NetHSM je na voljo v formatu OpenAPI ` <https://nethsmdemo.nitrokey.com/api_docs/nethsm-api.yaml>`_ , pregledati in preizkusiti pa jo je mogoče v brskalniku API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .