Integracja¶
W tym rozdziale opisano, jak zintegrować NetHSM z aplikacjami i jak przetestować tę integrację. Jeśli szukasz oprogramowania, które już dobrze integruje się z NetHSM, oto lista kompatybilnego oprogramowania.
REST-API¶
Podstawowym interfejsem NetHSM jest nowoczesny REST-API, który gwarantuje najlepszą wydajność i funkcjonalność. Specyfikacja API jest dostępna w formacie OpenAPI i może być sprawdzana i testowana w przeglądarce API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .
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.
Rozwój i testowanie¶
Instancja demonstracyjna¶
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.
Obraz kontenera¶
Obrazy kontenerów NetHSM ` <container/index.html>` __ są dostępne do testowania i produkcji.
Integracja z aplikacją niestandardową¶
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.
Listę wszystkich dostępnych języków można wyszukać w następujący sposób.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
Klient NetHSM może zostać wygenerowany dla danego języka programowania w następujący sposób.
$ 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
Wygenerowany kod klienta, w tym przykładzie JavaScript, zostanie utworzony w katalogu ./out/. Katalog ten zawiera również niezbędną dokumentację jak go używać.
Ważne
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".
Interfejs wiersza poleceń¶
Użytkownicy mogą administrować i korzystać z NetHSM za pomocą dedykowanego interfejsu wiersza poleceń (CLI). Nitrokey oferuje nitropy, który jest dystrybuowany w opartym na Pythonie pynitrokey. W przypadku nethsm istnieje alternatywna aplikacja innej firmy, która została opracowana w crate Rust nethsm-cli.