Integráció#
A fejezet a különböző feladatokhoz szükséges folyamatokat írja le, és minden felhasználói csoportot megcéloz.
REST-API#
A NetHSM elsődleges interfésze egy modern REST-API, amely garantálja a legjobb teljesítményt és funkcionalitást. Az API specifikáció elérhető a OpenAPI formátumban, és megtekinthető és tesztelhető a API böngészőben.
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 a használatot.
Fejlesztés és tesztelés#
Demo példány#
Egy nyilvános NetHSM demópéldány elérhető a nethsmdemo.nitrokey.com címen. Nyolc óránként (CET 6:00, 14:00, 22:00) újraindul. Felhasználó „admin”, jelszó „adminadmin”, feloldási jelszó „unlockunlock”.
Konténer kép#
NetHSM container images are available for testing and production.
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 könyvtárak a Python és Rust, valamint a ez a harmadik féltől származó Rust crate. 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.
Parancssori interfész#
A felhasználók a NetHSM-et egy dedikált parancssori felület (CLI) segítségével adminisztrálhatják és használhatják. A Nitrokey a nitropy
kínálja, amely a Python alapú pynitrokey pynitrokey-ban kerül terjesztésre. A nethsm
mellett létezik egy alternatív, harmadik féltől származó alkalmazás, amelyet a nethsm-cli Rust crate-ben fejlesztettek ki.