Интеграция#

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

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 как контейнер Docker ` <https://hub.docker.com/r/nitrokey/nethsm>`_ локально.

Контейнер может быть выполнен следующим образом.

$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing

Это обеспечит REST API на порту 8443 по протоколу HTTPS.

Важно

Контейнер использует самоподписанный сертификат TLS. Убедитесь, что для установления соединения используются правильные настройки подключения. Для получения дополнительной информации обратитесь к главе Введение в NetHSM.

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

Для интеграции NetHSM в собственные приложения доступны клиентские библиотеки практически для всех языков программирования. Здесь представлены библиотеки для Rust и Python. Для всех остальных языков программирования мы рекомендуем использовать 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".

REST-API#

Спецификация API NetHSM доступна в формате OpenAPI, и может быть просмотрена и протестирована в браузере API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .