Интеграция#
Главата описва процеси за различни задачи и е насочена към всички групи потребители.
REST-API#
Основният интерфейс на NetHSM е модерен REST-API, който гарантира най-добра производителност и функционалност. Спецификацията на API е налична във формат OpenAPI, и може да бъде разгледана и тествана в браузъра API.
PKCS#11#
NetHSM поддържа стандарта PKCS#11. Необходимият драйвер е наличен в хранилището ` <https://github.com/Nitrokey/nethsm-pkcs11>`__. Хранилището съдържа изходния код и библиотеките, за различни операционни системи. Ръководството PKCS#11 описва подробно използването.
Разработване и тестване#
Демонстрационен пример#
Публична демонстрационна инстанция на NetHSM е налична на адрес nethsmdemo.nitrokey.com. Той ще се нулира на всеки осем часа (6:00, 14:00, 22:00 ч. централноевропейско време). Потребител „admin“, парола „adminadmin“, парола за отключване „unlockunlock“.
Изображение на контейнер#
NetHSM container images are available for testing and production.
Интеграция към потребителско приложение#
За интегриране на NetHSM в собствени приложения са налични клиентски библиотеки за почти всички езици за програмиране. Тук са библиотеките за Python и Rust, както и този Rust crate от трета страна. За всички други езици за програмиране препоръчваме да използвате OpenAPI Generator.
Списъкът с всички налични езици може да бъде изтеглен по следния начин.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
Клиентът на NetHSM може да бъде генериран за вашия език за програмиране по следния начин.
$ 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
Генерираният клиентски код, в този пример JavaScript, ще бъде създаден в директорията ./out/
. Тази папка съдържа и необходимата документация как да я използвате.
Important
Ако Podman се използва с налагане на SELinux, може да се наложи етикетиране на монтирането на тома. Режимът на SELinux може да бъде поискан с sestatus |grep "Current mode"
. Ако режимът е зададен на enforcing
, е необходима промяна на контекста. В този случай монтирането на тома трябва да бъде постфиксирано с :z
, в резултат на което се получава -v "${PWD}/out:/out:z"
.
Интерфейс на командния ред#
Потребителите могат да администрират и използват NetHSM, като използват специален интерфейс за команден ред (CLI). Nitrokey предлага nitropy
, който се разпространява в базирания на Python pynitrokey. При nethsm
съществува алтернативно приложение от трета страна, което е разработено в Rust crate nethsm-cli.