Integratsioon#
Peatükis kirjeldatakse erinevate ülesannete protsesse ja see on suunatud kõikidele kasutajarühmadele.
PKCS#11#
NetHSM toetab PKCS#11 standardit. Vajalik draiver on saadaval repositooriumist. See repositoorium sisaldab lähtekoodi ja raamatukogusid erinevate operatsioonisüsteemide jaoks.
PKCS#11 juhend kirjeldab nende kasutamist üksikasjalikult.
Tähtis
See draiver on veel varajane Proof of Concept’i rakendus, mis rakendab ainult TLS-serverite käitamiseks vajalikke funktsioone.
Arendus ja testimine#
Avalik NetHSM-i demoinstants on saadaval aadressil nethsmdemo.nitrokey.com.
Teise võimalusena võite käivitada NetHSMi kui Dockeri konteinerit lokaalselt.
Konteinerit saab täita järgmiselt.
$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing
$ podman run --rm -ti -p8443:8443 docker.io/nitrokey/nethsm:testing
See pakub REST API-d HTTPS-protokolli kaudu pordil 8443.
Tähtis
Konteiner kasutab ise allkirjastatud TLS-sertifikaati. Veenduge, et ühenduse loomiseks kasutate õigeid ühendussätteid. Lisateavet leiate peatükist NetHSMi tutvustus.
Integreerimine kohandatud rakendusse#
NetHSMi integreerimiseks oma kohandatud rakendustesse on saadaval kliendikirjastikud peaaegu kõigi programmeerimiskeelte jaoks. Siin on raamatukogud Rust ja Python. Kõigi teiste programmeerimiskeelte jaoks soovitame kasutada OpenAPI Generator.
Kõigi kättesaadavate keelte loetelu saab välja otsida järgmiselt.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
NetHSMi kliendi saab genereerida teie programmeerimiskeele jaoks järgmiselt.
$ 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
Genereeritud kliendikood, antud näites JavaScript, luuakse kataloogis ./out/
. See kaust sisaldab ka vajalikku dokumentatsiooni, kuidas seda kasutada.
Tähtis
Kui Podmani kasutatakse koos SELinuxi jõustamisega, võib olla vaja märgistada mahu kinnitus. SELinuxi režiimi saab küsida aadressiga sestatus |grep "Current mode"
. Kui režiimiks on määratud enforcing
, on vaja muuta konteksti. Sellisel juhul tuleb mahu mount’ile lisada postfixing :z
, mille tulemuseks on -v "${PWD}/out:/out:z"
.
REST-API#
NetHSM’i API spetsifikatsioon on saadaval OpenAPI formaadis ning seda saab kontrollida ja testida API brauseris.