Integrare#
Capitolul descrie procesele pentru diferite sarcini și se adresează tuturor grupurilor de utilizatori.
PKCS#11#
NetHSM este compatibil cu standardul PKCS#11. Driverul necesar este disponibil în depozitul ` <https://github.com/Nitrokey/nethsm-pkcs11>` __. Depozitul conține codul sursă și bibliotecile, pentru diferite sisteme de operare. Ghidul PKCS#11 descrie în detaliu modul de utilizare.
Dezvoltare și testare#
O instanță demo publică NetHSM este disponibilă la nethsmdemo.nitrokey.com. Aceasta va fi resetată la fiecare opt ore (CET 6:00, 14:00, 22:00). Utilizator „admin”, parolă „adminadmin”, parolă de deblocare „unlockunlock”.
Alternativ, puteți rula NetHSM ca un container Docker ` <https://hub.docker.com/r/nitrokey/nethsm>`_ la nivel local.
Containerul poate fi executat după cum urmează.
$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing
$ podman run --rm -ti -p8443:8443 docker.io/nitrokey/nethsm:testing
Aceasta va furniza API-ul REST pe portul 8443 prin intermediul protocolului HTTPS.
Important
Containerul utilizează un certificat TLS auto-semnat. Asigurați-vă că utilizați setările de conectare corecte pentru a stabili o conexiune. Vă rugăm să consultați capitolul NetHSM introducere pentru a afla mai multe.
Integrarea în aplicația personalizată#
Pentru a integra NetHSM în propriile aplicații personalizate, sunt disponibile biblioteci client pentru aproape toate limbajele de programare. Aici sunt biblioteci pentru Python și Rust, precum și acest crate Rust de la o terță parte. Pentru toate celelalte limbaje de programare, vă recomandăm să utilizați OpenAPI Generator.
Lista tuturor limbilor disponibile poate fi consultată după cum urmează.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
Clientul NetHSM poate fi generat pentru limbajul dumneavoastră de programare după cum urmează.
$ 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
Codul generat de client, în acest exemplu JavaScript, va fi creat în directorul ./out/
. Acest director conține, de asemenea, documentația necesară modului de utilizare.
Important
Dacă Podman este utilizat cu SELinux, ar putea fi necesară o etichetare a montajului volumului. Modul de SELinux poate fi solicitat cu sestatus |grep "Current mode"
. Dacă modul este setat la enforcing
, este necesară o modificare a contextului. În acest caz, montarea volumului trebuie să fie postfixată cu :z
, rezultând -v "${PWD}/out:/out:z"
.
REST-API#
Specificația API a NetHSM este disponibilă în formatul OpenAPI, și poate fi inspectată și testată în browserul API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .