Интеграция#

Главата описва процеси за различни задачи и е насочена към всички групи потребители.

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

Клиентът на 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

Генерираният клиентски код, в този пример 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.