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 Rust ja Python. 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.