Интеграция#
Главата описва процеси за различни задачи и е насочена към всички групи потребители.
PKCS#11#
NetHSM поддържа стандарта PKCS#11. Необходимият драйвер е наличен в хранилището ` <https://github.com/Nitrokey/nethsm-pkcs11>` __. Хранилището съдържа изходния код и библиотеките, за различни операционни системи.
Ръководството PKCS#11 описва подробно как да ги използвате.
Important
Този драйвер все още е ранна версия на концепцията, която изпълнява само функциите, необходими за работа с TLS сървъри.
Разработване и тестване#
Публична демонстрационна инстанция на NetHSM е налична на адрес nethsmdemo.nitrokey.com.
Алтернативно можете да стартирате NetHSM като контейнер Docker локално.
Контейнерът може да бъде изпълнен по следния начин.
$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing
$ podman run --rm -ti -p8443:8443 nitrokey/nethsm:testing
Това ще осигури REST API на порт 8443 чрез протокола HTTPS.
Important
Контейнерът използва самостоятелно подписан сертификат TLS. Уверете се, че използвате правилните настройки на връзката, за да установите връзка. Моля, вижте глава Въведение в NetHSM, за да научите повече.
Интеграция към потребителско приложение#
За интегриране на NetHSM в собствени приложения са налични клиентски библиотеки за почти всички езици за програмиране. Затова препоръчваме да използвате 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/
. Тази папка съдържа и необходимата документация как да я използвате.
Important
Ако Podman се използва с налагане на SELinux, може да се наложи етикетиране на монтирането на тома. Режимът на SELinux може да бъде поискан с sestatus |grep "Current mode"
. Ако режимът е зададен на enforcing
, е необходима промяна на контекста. В този случай монтирането на тома трябва да бъде постфиксирано с :z
, в резултат на което се получава -v "${PWD}/out:/out:z"
.
REST-API#
Спецификацията на API на NetHSM‘ е налична във формат OpenAPI и може да бъде проверена и тествана в Браузъра на API.