Интеграция

Глава описывает процессы для различных задач и ориентирована на все группы пользователей.

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. Он будет перезагружаться каждые восемь часов (CET 6:00, 14:00, 22:00). Пользователь «admin», пароль «adminadmin», пароль разблокировки «unlockunlock».

Изображение контейнера

Образы контейнеров NetHSM ` <container/index.html>` __ доступны для тестирования и производства.

Интеграция в пользовательское приложение

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

Клиент 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/. Эта папка также содержит необходимую документацию по использованию.

Важно

Если 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.