Integrare#
Capitolul descrie procesele pentru diferite sarcini și se adresează tuturor grupurilor de utilizatori.
REST-API#
Interfața principală a NetHSM este o interfață REST-API modernă care garantează cea mai bună performanță și funcționalitate. Specificația API este disponibilă în formatul OpenAPI, și poate fi inspectată și testată în browserul API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .
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#
Instanță demo#
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”.
Imaginea containerului#
NetHSM container images are available for testing and production.
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"
.
Interfața liniei de comandă#
Utilizatorii pot administra și utiliza un NetHSM utilizând o interfață de linie de comandă (CLI) dedicată. Nitrokey oferă nitropy
, care este distribuită în baza Python pynitrokey. Cu nethsm
există o aplicație terță alternativă, care este dezvoltată în crate-ul Rust nethsm-cli.