Integrointi#

Luvussa kuvataan eri tehtäviä koskevia prosesseja, ja se on suunnattu kaikille käyttäjäryhmille.

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#

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”.

Vaihtoehtoisesti voit käyttää NetHSM:ää Docker-säiliönä paikallisesti.

Säiliö voidaan suorittaa seuraavasti.

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

Tämä tarjoaa REST API:n portissa 8443 HTTPS-protokollan kautta.

Tärkeä

Säiliö käyttää itse allekirjoitettua TLS-varmentetta. Varmista, että käytät oikeita yhteysasetuksia yhteyden muodostamiseksi. Lisätietoja on luvussa NetHSM:n käyttöönotto.

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

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

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".

REST-API#

NetHSM:n API-spesifikaatio on saatavilla OpenAPI-muodossa, ja sitä voi tarkastella ja testata API-selaimella.