Integrācija#
Šajā nodaļā ir aprakstīti dažādu uzdevumu izpildes procesi, un tā ir paredzēta visām lietotāju grupām.
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ā ir detalizēti aprakstīts, kā tos izmantot.
Svarīgi
Šis draiveris joprojām ir agrīna koncepcijas izmēģinājuma implementācija, kas īsteno tikai tās funkcijas, kuras ir nepieciešamas TLS serveru darbībai.
Izstrāde un testēšana#
Publiska NetHSM demo instance ir pieejama vietnē nethsmdemo.nitrokey.com.
Varat arī palaist NetHSM kā Docker konteineru lokāli.
Konteineru var izpildīt šādi.
$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing
$ podman run --rm -ti -p8443:8443 docker.io/nitrokey/nethsm:testing
Tas nodrošinās REST API uz 8443 porta, izmantojot HTTPS protokolu.
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 Rust un Python. 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
$ podman 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
$ 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
Ģ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"
.
REST-API#
NetHSM’s API specifikācija ir pieejama OpenAPI formātā, un to var pārbaudīt un testēt API pārlūkprogrammā.