Интеграция#

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

PKCS#11#

NetHSM поддерживает стандарт PKCS#11. Необходимый драйвер доступен из репозитория ` <https://github.com/Nitrokey/nethsm-pkcs11>` __. Репозиторий содержит исходный код и библиотеки для различных операционных систем.

В руководстве PKCS#11 подробно описано, как их использовать.

Важно

Этот драйвер все еще является ранней реализацией Proof of Concept, которая реализует только функции, необходимые для работы TLS-серверов.

Разработка и тестирование#

Публичный демонстрационный экземпляр NetHSM доступен по адресу nethsmdemo.nitrokey.com.

В качестве альтернативы вы можете запустить Docker-контейнер NetHSM локально. Контейнер NetHSM требует вложенной виртуализации для сильного разделения с другими контейнерами. Таким образом, для запуска контейнера NetHSM необходим хост Linux с доступным /dev/kvm. Выполните эту команду:

$ sudo docker run --rm -ti --device=/dev/net/tun:/dev/net/tun --cap-add=NET_ADMIN -p8443:8443 nitrokey/nethsm:testing

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

Для интеграции NetHSM в собственные приложения клиентские библиотеки доступны практически для всех языков программирования. Поэтому мы рекомендуем использовать OpenAPI Generator.

Список всех доступных языков можно получить следующим образом.

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

REST-API#

Спецификация NetHSM’API доступна в формате OpenAPI, и может быть проверена и протестирована в API-браузере.