Интеграция

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

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>` __ доступны для тестирования и производства.

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

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

Важно

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