Integratsioon¶
Selles peatükis kirjeldatakse, kuidas integreerida NetHSMi rakendustesse ja kuidas seda integreerimist testida. Kui otsite tarkvara, mis juba hästi integreerub NetHSMiga, on siin nimekiri ühilduvatest tarkvaradest.
REST-API¶
NetHSMi peamine liides on kaasaegne REST-API, mis tagab parima jõudluse ja funktsionaalsuse. API spetsifikatsioon on saadaval OpenAPI formaadis ning seda saab kontrollida ja testida API-bauseris.
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.
Arendus ja testimine¶
Demo instants¶
A public NetHSM demo instance is available at nethsmdemo.nitrokey.com.
It will be reset every eight hours (CET 6:00, 14:00, 22:00). User admin, password adminadmin, unlock password unlockunlock.
Konteineri pilt¶
NetHSM konteineri kujutised on saadaval testimiseks ja tootmiseks.
Integreerimine kohandatud rakendusse¶
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.
Kõigi kättesaadavate keelte loetelu saab välja otsida järgmiselt.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
NetHSMi kliendi saab genereerida teie programmeerimiskeele jaoks järgmiselt.
$ 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
Genereeritud kliendikood, antud näites JavaScript, luuakse kataloogis ./out/. See kaust sisaldab ka vajalikku dokumentatsiooni, kuidas seda kasutada.
Tähtis
If Podman is used with enforcing SELinux, a labeling to the volume mount might be required.
The mode of SELinux can be requested with sestatus |grep "Current mode".
If the mode is set to enforcing, a change to the context is required.
In this case the volume mount must be suffixed with :z, resulting in -v "${PWD}/out:/out:z".
Käsurea liides¶
Kasutajad saavad NetHSMi hallata ja kasutada spetsiaalse käsurea liidesega (CLI). Nitrokey pakub nitropy, mida levitatakse Pythonil põhinevas pynitrokey. Koos nethsm on olemas alternatiivne kolmanda osapoole rakendus, mis on välja töötatud Rust crate’is nethsm-cli.