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

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

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

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>`_ .