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#

A NetHSM konténerképek elérhetőek tesztelésre és gyártásra.

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

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

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.