Integrointi¶
Tässä luvussa kuvataan, miten NetHSM integroidaan sovelluksiin ja miten integraatio testataan. Jos etsit ohjelmistoja, jotka jo integroituvat hyvin NetHSM:n kanssa, tässä on luettelo yhteensopivista ohjelmistoista: .
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¶
The NetHSM supports the PKCS#11 standard. The required driver is available from the repository. The repository contains the source code and libraries, for different operating systems. The PKCS#11 guide describes the usage in detail.
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¶
To integrate the NetHSM into own custom applications, client libraries are available for almost all programming languages. Here are our libraries for Python and Rust as well as 3rd party Rust crate and Go library. For all other programming languages we recommend using 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.