Интеграция#
Глава описывает процессы для различных задач и ориентирована на все группы пользователей.
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 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/
. Эта папка также содержит необходимую документацию по использованию.
Важно
Если 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.