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 a acestora.
Important
Acest driver este încă o implementare timpurie de tip „Proof of Concept” care implementează doar funcțiile necesare pentru operarea serverelor TLS.
Dezvoltare și testare#
O instanță demo publică NetHSM este disponibilă la nethsmdemo.nitrokey.com.
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 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. Prin urmare, 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’s este disponibilă în formatul OpenAPI, și poate fi inspectată și testată în browserul API.