Интеграция#

Главата описва процеси за различни задачи и е насочена към всички групи потребители.

PKCS#11#

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

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

Публична демонстрационна инстанция на NetHSM е налична на адрес nethsmdemo.nitrokey.com. Той ще се нулира на всеки осем часа (6:00, 14:00, 22:00 ч. централноевропейско време). Потребител „admin“, парола „adminadmin“, парола за отключване „unlockunlock“.

Алтернативно можете да стартирате NetHSM като контейнер Docker локално.

Контейнерът може да бъде изпълнен по следния начин.

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

Това ще осигури REST API на порт 8443 чрез протокола HTTPS.

Important

Контейнерът използва самостоятелно подписан сертификат 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/. Тази папка съдържа и необходимата документация как да я използвате.

Important

Ако Podman се използва с налагане на SELinux, може да се наложи етикетиране на монтирането на тома. Режимът на SELinux може да бъде поискан с sestatus |grep "Current mode". Ако режимът е зададен на enforcing, е необходима промяна на контекста. В този случай монтирането на тома трябва да бъде постфиксирано с :z, в резултат на което се получава -v "${PWD}/out:/out:z".

REST-API#

Спецификацията на API на NetHSM е налична във формат OpenAPI и може да бъде проверена и тествана в браузъра API.