Integrācija#

Šajā nodaļā ir aprakstīti dažādu uzdevumu izpildes procesi, un tā ir paredzēta visām lietotāju grupām.

REST-API#

NetHSM primārais interfeiss ir mūsdienīgs REST-API, kas garantē vislabāko veiktspēju un funkcionalitāti. API specifikācija ir pieejama OpenAPI formātā, un to var pārbaudīt un testēt API pārlūkā.

PKCS#11#

NetHSM atbalsta PKCS#11 standartu. Nepieciešamais draiveris ir pieejams repozitorijā. Repozitorijs satur pirmkodu un bibliotēkas dažādām operētājsistēmām. ` PKCS#11 rokasgrāmatā <pkcs11-setup.html>`_ ir sīki aprakstīta lietošana.

Izstrāde un testēšana#

Publiska NetHSM demo instance ir pieejama vietnē nethsmdemo.nitrokey.com. Tā tiks atiestatīta ik pēc astoņām stundām (CET 6:00, 14:00, 22:00). Lietotājs „admin“, parole „adminadmin“, atbloķēšanas parole „unlockunlock“.

Varat arī palaist NetHSM kā Docker konteineru lokāli.

Konteineru var izpildīt šādi.

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

Tas palaidīs NetHSM kā Unix procesu konteinerā un atklās REST API portu 8443, izmantojot HTTPS protokolu.

Papildus tam, ka NetHSM darbojas kā Unix process, to var palaist kā KVM atbalstītu unikernel.

Konteineru var izpildīt šādi.

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

Tādējādi NetHSM tiks palaists kā unikernel KVM virtuālajā mašīnā. Konteiners atklās REST API, izmantojot HTTPS protokolu, saskarnē tap200 ar IP adresi 192.168.1.100 un portu 8443.

Svarīgi

Konteinerā tiek izmantots pašparakstīts TLS sertifikāts. Lai izveidotu savienojumu, pārliecinieties, vai tiek izmantoti pareizi savienojuma iestatījumi. Lai uzzinātu vairāk, skatiet NetHSM ievads nodaļu.

Integrācija pielāgotā lietojumprogrammā#

Lai integrētu NetHSM savās pielāgotās lietojumprogrammās, ir pieejamas klientu bibliotēkas gandrīz visām programmēšanas valodām. Šeit ir bibliotēkas Python un Rust, kā arī šim trešās puses Rust crate. Visām citām programmēšanas valodām iesakām izmantot OpenAPI Generator.

Visu pieejamo valodu sarakstu var iegūt šādi.

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

NetHSM klientu jūsu programmēšanas valodai var izveidot šādi.

$ 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

Ģenerētais klienta kods, šajā piemērā JavaScript, tiks izveidots direktorijā ./out/. Šajā mapē ir arī nepieciešamā dokumentācija, kā to izmantot.

Svarīgi

Ja Podman tiek izmantots ar SELinux ieviešanu, var būt nepieciešams veikt apjoma montāžas marķēšanu. SELinux režīmu var pieprasīt ar sestatus |grep "Current mode". Ja režīms ir iestatīts uz enforcing, ir nepieciešama konteksta maiņa. Šādā gadījumā sējuma pievienošana jānoformulē ar :z, iegūstot -v "${PWD}/out:/out:z".

Komandrindas saskarne#

Lietotāji var administrēt un izmantot NetHSM, izmantojot īpašu komandrindas saskarni (CLI). Nitrokey piedāvā nitropy, kas tiek izplatīts Python vidē balstītā pynitrokey. Izmantojot nethsm, pastāv alternatīva trešās puses lietojumprogramma, kas ir izstrādāta Rust kretē nethsm-cli.