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 njihova uporaba.
Pomembno
Ta gonilnik je še vedno zgodnja izvedba, ki je poskusna in izvaja le funkcije, ki so potrebne za delovanje strežnikov TLS.
Razvoj in testiranje#
Javni demo primerek NetHSM je na voljo na naslovu nethsmdemo.nitrokey.com.
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
$ podman 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. Zato 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"
.
REST-API#
Specifikacija API NetHSM‘ je na voljo v obliki OpenAPI ter jo je mogoče pregledati in preizkusiti v Bralniku API.