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 kuvataan yksityiskohtaisesti, miten niitä käytetään.
Tärkeä
Tämä ajuri on vielä varhainen Proof of Concept -toteutus, joka toteuttaa vain TLS-palvelinten käyttämiseen tarvittavat toiminnot.
Kehittäminen ja testaus#
Julkinen NetHSM-demoinstanssi on saatavilla osoitteessa nethsmdemo.nitrokey.com.
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
$ podman 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 sovelluksiin on saatavilla asiakaskirjastoja lähes kaikille ohjelmointikielille. Siksi suosittelemme käyttämään 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"
.
REST-API#
NetHSM’n API-spesifikaatio on saatavilla OpenAPI-muodossa, ja sitä voi tarkastella ja testata API-selaimessa.