融合#

该章描述了各种任务的流程,并针对所有用户群体。

PKCS#11#

NetHSM 支持 PKCS#11 标准。所需驱动程序可从`存储库<https://github.com/Nitrokey/nethsm-pkcs11>`__中获取。该资源库包含适用于不同操作系统的源代码和库。`PKCS#11 指南<pkcs11-setup.html>`_ 详细介绍了使用方法。

开发和测试#

公共 NetHSM 演示实例可在`nethsmdemo.nitrokey.com<https://nethsmdemo.nitrokey.com/api/v1/info>`_ 上获得。它将每八小时重置一次(欧洲中部时间 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

这将通过HTTPS协议在端口`8443`上提供REST API。

重要

容器使用一个自签的TLS证书。请确保使用正确的连接设置来建立连接。请参考`NetHSM介绍<index.html>`__一章,了解更多信息。

集成到自定义应用程序中#

要将 NetHSM 集成到自己的定制应用程序中,可使用几乎所有编程语言的客户端库。以下是`Rust<https://github.com/Nitrokey/nethsm-sdk-rs>`_ 和`Python<https://github.com/Nitrokey/nethsm-sdk-py>`_ 的库。对于所有其他编程语言,我们建议使用`OpenAPI Generator<https://github.com/OpenAPITools/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#

NetHSM 的应用程序接口规范采用`OpenAPI 格式<https://nethsmdemo.nitrokey.com/api_docs/nethsm-api.yaml>`_ ,可在`API 浏览器<https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ 中检查和测试。