融合

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

REST-API

NetHSM 的主要接口是一个现代 RESTAPI,可确保最佳性能和功能。API 规范以`OpenAPI 格式提供<https://nethsmdemo.nitrokey.com/api_docs/nethsm-api.yaml>`_ ,可在`API 浏览器<https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ 中检查和测试。

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`容器镜像<container/index.html>`__ 可用于测试和生产。

集成到自定义应用程序中

To integrate the NetHSM into own custom applications, client libraries are available for almost all programming languages. Here are our libraries for Python and Rust as well as 3rd party Rust crate and Go library. For all other programming languages we recommend using 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"``

命令行界面

用户可使用专用命令行界面 (CLI) 管理和使用 NetHSM。Nitrokey 提供``nitropy``,它发布在基于 Python 的`pynitrokey<https://pypi.org/project/pynitrokey/>`_ 中。nethsm 还有一个第三方应用程序,它是在 Rust crate`nethsm-cli<https://crates.io/crates/nethsm-cli/>`_ 中开发的。