Integráció#
A fejezet a különböző feladatokhoz szükséges folyamatokat írja le, és minden felhasználói csoportot megcéloz.
PKCS#11#
A NetHSM támogatja a PKCS#11 szabványt. A szükséges illesztőprogram elérhető a repositoryból. Az adattár tartalmazza a forráskódot és a könyvtárakat, különböző operációs rendszerekhez.
A PKCS#11 útmutató részletesen leírja ezek használatát.
Fontos
Ez az illesztőprogram még mindig egy korai Proof of Concept megvalósítás, amely csak a TLS-kiszolgálók működtetéséhez szükséges funkciókat valósítja meg.
Fejlesztés és tesztelés#
Egy nyilvános NetHSM demópéldány elérhető a nethsmdemo.nitrokey.com címen.
Alternatívaként a NetHSM-et futtathatja a Docker konténerként is helyben.
A konténer a következőképpen hajtható végre.
$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing
$ podman run --rm -ti -p8443:8443 docker.io/nitrokey/nethsm:testing
Ez biztosítja a REST API-t a 8443-as porton keresztül a HTTPS protokollon keresztül.
Fontos
A tároló saját aláírású TLS-tanúsítványt használ. Győződjön meg róla, hogy a kapcsolat létrehozásához a megfelelő kapcsolatbeállításokat használja. További információkért olvassa el a NetHSM bevezetés fejezetet.
Egyedi alkalmazásba való integráció#
A NetHSM saját egyedi alkalmazásokba történő integrálásához szinte minden programozási nyelvhez rendelkezésre állnak ügyfélkönyvtárak. Itt vannak a Rust és a Python könyvtárak. Minden más programozási nyelvhez a OpenAPI Generator használatát javasoljuk.
A rendelkezésre álló nyelvek listája a következőképpen hívható le.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
A NetHSM kliens a következőképpen generálható a programozási nyelvhez.
$ 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
A generált ügyfélkód, ebben a példában a JavaScript, a ./out/
könyvtárban lesz létrehozva. Ez a mappa tartalmazza a használatához szükséges dokumentációt is.
Fontos
Ha a Podman a SELinux érvényesítésével együtt használatos, akkor szükség lehet a kötetcsatolás címkézésére. A SELinux módját a sestatus |grep "Current mode"
címmel lehet lekérdezni. Ha a mód a enforcing
, akkor a kontextus módosítása szükséges. Ebben az esetben a kötetcsatlakoztatást a :z
utólagos rögzítéssel kell elvégezni, ami a -v "${PWD}/out:/out:z"
eredményezi.
REST-API#
A NetHSM’s API specifikációja OpenAPI formátumban áll rendelkezésre, és a API böngészőben megtekinthető és tesztelhető.