融合#
该章描述了各种任务的流程,并针对所有用户群体。
PKCS#11#
NetHSM支持PKCS#11标准。所需的驱动程序可以从`仓库<https://github.com/Nitrokey/nethsm-pkcs11>`__中获得。该资源库包含了源代码和库,适用于不同的操作系统。
`PKCS#11指南<guides/pkcs11_with_pkcs11-tool.html>`_ ,详细描述了如何使用它们。
重要
这个驱动仍然是一个早期的概念验证实现,只实现了操作TLS服务器所需的功能。
开发和测试#
在`nethsmdemo.nitrokey.com<https://nethsmdemo.nitrokey.com>`_上有一个公共的NetHSM演示实例。
另外,你可以将NetHSM作为`Docker容器<https://hub.docker.com/r/nitrokey/nethsm>`_本地运行。NetHSM容器需要嵌套的虚拟化,以便与其他容器进行强分离。因此,要启动一个NetHSM容器,你需要一个有`/dev/kvm`的Linux主机。执行这个命令。
$ sudo docker run --rm -ti --device=/dev/net/tun:/dev/net/tun --cap-add=NET_ADMIN -p8443:8443 nitrokey/nethsm:testing
集成到自定义应用程序中#
为了将NetHSM集成到自己的自定义应用程序中,几乎所有的编程语言都可以使用客户端库。因此,我们建议使用`OpenAPI Generator <https://github.com/OpenAPITools/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格式<https://nethsmdemo.nitrokey.com/api_docs/nethsm-api.yaml>`_提供,并且可以在`API浏览器<https://nethsmdemo.nitrokey.com/api_docs/index.html>`_中检查和测试。