Integracija#

Skyriuje aprašomi įvairių užduočių procesai, skirti visoms naudotojų grupėms.

REST-API#

Pagrindinė NetHSM sąsaja yra moderni REST API, kuri užtikrina geriausią našumą ir funkcionalumą. API specifikacija pateikiama OpenAPI formatu, ją galima patikrinti ir išbandyti API naršyklėje.

PKCS#11#

NetHSM palaiko PKCS#11 standartą. Reikalingą tvarkyklę galima rasti saugykloje. Saugykloje yra išeities kodas ir bibliotekos, skirtos įvairioms operacinėms sistemoms. ` PKCS#11 vadove <pkcs11-setup.html>`_ išsamiai aprašytas naudojimas.

Kūrimas ir testavimas#

Vieša NetHSM demonstracinė instancija prieinama adresu nethsmdemo.nitrokey.com. Jis bus atstatomas kas aštuonias valandas (6:00, 14:00, 22:00 CET). Naudotojas „admin“, slaptažodis „adminadmin“, atrakinimo slaptažodis „unlockunlock“.

Taip pat galite paleisti NetHSM kaip „Docker“ konteinerį vietoje.

Konteineris gali būti vykdomas taip.

$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing

Tai paleis NetHSM kaip „Unix“ procesą konteinerio viduje ir atskleis REST API per HTTPS protokolą prievado 8443 adresu.

Be to, NetHSM gali būti paleistas kaip „Unix“ procesas, jį galima paleisti kaip KVM palaikomą unikernelį.

Konteineris gali būti vykdomas taip.

$ docker run -ti --rm -p 8443:8443 --device /dev/net/tun --device /dev/kvm --cap-add=NET_ADMIN nitrokey/nethsm:testing

Tai leis paleisti NetHSM kaip unikernelį KVM virtualioje mašinoje. Konteineris atskleis REST API per HTTPS protokolą sąsajoje tap200 su IP adresu 192.168.1.100 ir prievadu 8443.

Svarbu

Konteineryje naudojamas savarankiškai pasirašytas TLS sertifikatas. Norėdami užmegzti ryšį, įsitikinkite, kad naudojate tinkamus ryšio nustatymus. Norėdami sužinoti daugiau, žr. skyrių NetHSM įvadas.

Integravimas į pasirinktinę programą#

Norint integruoti NetHSM į savo pasirinktines taikomąsias programas, galima naudotis klientų bibliotekomis, skirtomis beveik visoms programavimo kalboms. Čia pateikiamos bibliotekos Python ir Rust, taip pat šios trečiosios šalies Rust crate. Visoms kitoms programavimo kalboms rekomenduojame naudoti OpenAPI Generator.

Visų galimų kalbų sąrašą galima rasti taip.

$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable

NetHSM klientas gali būti sukurtas jūsų programavimo kalbai taip.

$ 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

Sukurtas kliento kodas, šiame pavyzdyje „JavaScript“, bus sukurtas ./out/ kataloge. Šiame aplanke taip pat yra reikalingi dokumentai, kaip juo naudotis.

Svarbu

Jei „Podman“ naudojamas su „SELinux“ užtikrinimu, gali prireikti tūrio prijungimo etiketės. SELinux režimo galima paprašyti naudojant sestatus |grep "Current mode". Jei režimas nustatytas enforcing, reikia pakeisti kontekstą. Tokiu atveju tūrio prijungimas turi būti postfiksuotas su :z, todėl gaunamas -v "${PWD}/out:/out:z".

Komandinės eilutės sąsaja#

Vartotojai gali administruoti ir naudoti NetHSM naudodami specialią komandinės eilutės sąsają (CLI). Nitrokey siūlo nitropy, kuri platinama Python pagrindu sukurtoje pynitrokey. Su nethsm yra alternatyvi trečiosios šalies programa, sukurta Rust crate nethsm-cli.