Интеграция¶
Главата описва процеси за различни задачи и е насочена към всички групи потребители.
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 контейнерни образи са налични за тестване и производство.
Интеграция към потребителско приложение¶
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.
Списъкът с всички налични езици може да бъде изтеглен по следния начин.
$ 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.