Integrointi¶
Luvussa kuvataan eri tehtäviä koskevia prosesseja, ja se on suunnattu kaikille käyttäjäryhmille.
REST-API¶
NetHSM:n ensisijainen käyttöliittymä on nykyaikainen REST-API, joka takaa parhaan suorituskyvyn ja toimivuuden. API-määrittely on saatavilla OpenAPI-muodossa, ja sitä voi tarkastella ja testata API-selaimella.
PKCS#11¶
NetHSM tukee PKCS#11-standardia. Tarvittava ajuri on saatavilla osoitteesta ` <https://github.com/Nitrokey/nethsm-pkcs11>`__. Arkisto sisältää lähdekoodin ja kirjastot eri käyttöjärjestelmille. ` PKCS#11-oppaassa <pkcs11-setup.html>`_ kuvataan käyttö yksityiskohtaisesti.
Kehittäminen ja testaus¶
Demo Instanssi¶
Julkinen NetHSM-demoinstanssi on saatavilla osoitteessa nethsmdemo.nitrokey.com. Se nollataan kahdeksan tunnin välein (CET 6:00, 14:00, 22:00). Käyttäjä ”admin”, salasana ”adminadmin”, lukituksen avaussalasana ”unlockunlock”.
Säiliön kuva¶
NetHSM kontti-imaget ovat saatavilla testausta ja tuotantoa varten.
Integrointi mukautettuun sovellukseen¶
NetHSM:n integroimiseksi omiin mukautettuihin sovelluksiin on saatavilla asiakaskirjastoja lähes kaikille ohjelmointikielille. Tässä ovat kirjastot Python ja Rust sekä tämä kolmannen osapuolen Rust crate. Kaikille muille ohjelmointikielille suosittelemme OpenAPI Generator.
Kaikkien käytettävissä olevien kielten luettelo voidaan hakea seuraavasti.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
NetHSM-asiakasohjelma voidaan luoda ohjelmointikielellesi seuraavasti.
$ 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
Tuotettu asiakaskoodi, tässä esimerkissä JavaScript, luodaan hakemistoon ./out/
. Tämä kansio sisältää myös tarvittavan dokumentaation, miten sitä käytetään.
Tärkeä
Jos Podmania käytetään SELinuxin käyttöönoton yhteydessä, voidaan tarvita merkintä niteen kiinnitykseen. SELinuxin tila voidaan pyytää komennolla sestatus |grep "Current mode"
. Jos tilaksi on asetettu enforcing
, kontekstia on muutettava. Tällöin volyymin kiinnitys on jälkikäteen määriteltävä komennolla :z
, jolloin tuloksena on -v "${PWD}/out:/out:z"
.
Komentorivin käyttöliittymä¶
Käyttäjät voivat hallinnoida ja käyttää NetHSM:ää erillisen komentorivikäyttöliittymän (CLI) avulla. Nitrokey tarjoaa nitropy
, joka on jaettu Python-pohjaisessa pynitrokey-ohjelmassa. ` nethsm` on olemassa vaihtoehtoinen kolmannen osapuolen sovellus, joka on kehitetty Rust crate nethsm-cli.