本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
PKCS#11 提供商
PKCS#11 provider 组件 (aws.greengrass.crypto.Pkcs11Provider
) 使您可以通过 PKCS#11 接口
要配置在中HSM存储其证书和私钥的 Greengrass 核心设备,您必须在安装 Core 软件时将此组件指定为配置插件。 Amazon IoT Greengrass 有关更多信息,请参阅 使用手动资源配置来安装 Amazon IoT Greengrass Core 软件。
Amazon IoT Greengrass 将此组件作为JAR文件提供,您可以下载该文件,以便在安装过程中将其指定为配置插件。你可以下载组件JAR文件的最新版本,如下所示URL:https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar
版本
此组件有以下版本:
-
2.0.x
类型
此组件是一个插件组件 (aws.greengrass.plugin
)。Greengrass 核心在与核心相同的 Java 虚拟机 () 中运行此组件。JVM当您在核心设备上更改此组件的版本时,nucleus 会重新启动。
该组件使用与 Greengrass 核相同的日志文件。有关更多信息,请参阅 监控Amazon IoT Greengrass日志。
有关更多信息,请参阅 组件类型。
操作系统
此组件只能安装在 Linux 核心设备上。
要求
此组件具有以下要求:
-
一种硬件安全模块,支持 PKCS#1 v1.5
签名方案和RSA密钥大小为 RSA -2048(或更大)的密钥或密钥。ECC 注意
要使用带ECC密钥的硬件安全模块,必须使用 Greengrass nucleus v2.5.6 或更高版本。
要使用硬件安全模块和密钥管理器,必须使用带密RSA钥的硬件安全模块。
-
一个 PKCS #11 提供程序库, Amazon IoT Greengrass 核心软件可以在运行时加载该库(使用 libdl)来调用 PKCS #11 函数。PKCS#11 提供程序库必须实现以下 PKCS #11 API 操作:
-
C_Initialize
-
C_Finalize
-
C_GetSlotList
-
C_GetSlotInfo
-
C_GetTokenInfo
-
C_OpenSession
-
C_GetSessionInfo
-
C_CloseSession
-
C_Login
-
C_Logout
-
C_GetAttributeValue
-
C_FindObjectsInit
-
C_FindObjects
-
C_FindObjectsFinal
-
C_DecryptInit
-
C_Decrypt
-
C_DecryptUpdate
-
C_DecryptFinal
-
C_SignInit
-
C_Sign
-
C_SignUpdate
-
C_SignFinal
-
C_GetMechanismList
-
C_GetMechanismInfo
-
C_GetInfo
-
C_GetFunctionList
-
-
硬件模块必须可通过插槽标签进行解析,如 PKCS #11 规范中所定义。
-
您必须将私钥和证书存储HSM在同一个插槽中,并且它们必须使用相同的对象标签和对象 ID(如果HSM支持对象)IDs。
-
证书和私钥必须可通过对象标签进行解析。
-
私钥必须具有以下权限:
-
sign
-
decrypt
-
-
(可选)要使用密钥管理器组件,必须使用 2.1.0 或更高版本,并且私钥必须具有以下权限:
-
unwrap
-
wrap
-
-
(可选)如果您使用TPM2库并将 Greengrass 核心作为服务运行,则必须提供一个包含 #11 存储位置的环境变量。PKCS以下示例是带有所需环境变量的 systemd 服务文件:
[Unit] Description=Greengrass Core After=network.target [Service] Type=simple PIDFile=/var/run/greengrass.pid Environment=TPM2_PKCS11_STORE=
/path/to/store/directory
RemainAfterExit=no Restart=on-failure RestartSec=10 ExecStart=/bin/sh /greengrass/v2/alts/current/distro/bin/loader [Install] WantedBy=multi-user.target
依赖项
部署组件时, Amazon IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件已发布版本的依赖关系以及定义每个依赖项的组件版本的语义版本限制。您还可以在Amazon IoT Greengrass 控制台
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。
name
-
PKCS#11 配置的名称。
library
-
C Amazon IoT Greengrass ore 软件可以使用 libdl 加载的 PKCS #11 实现库的绝对文件路径。
slot
-
包含私钥和设备证书的插槽的 ID。此值不同于插槽索引或插槽标签。
userPin
-
用于PIN访问插槽的用户。
例 示例:配置合并更新
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }
本地日志文件
该组件使用与 Greengrass nucleus 组件相同的日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。替换
或/greengrass/v2
C:\greengrass\v2
包含 Amazon IoT Greengrass 根文件夹的路径。
更改日志
下表描述了该组件的每个版本中的更改。
版本 |
更改 |
---|---|
2.0.8 |
Greengrass nucleus 版本 2.13.0 版本的版本已更新。 |
2.0.7 |
Greengrass nucleus 版本 2.12.0 版本的版本已更新。 |
2.0.6 |
Greengrass nucleus 版本 2.11.0 版本的版本已更新。 |
2.0.5 |
Greengrass nucleus 版本 2.10.0 版本的版本已更新。 |
2.0.4 |
Greengrass nucleus 版本 2.9.0 版本的版本已更新。 |
2.0.3 |
Greengrass nucleus 版本 2.8.0 版本的版本已更新。 |
2.0.2 |
Greengrass nucleus 版本 2.7.0 版本的版本已更新。 |
2.0.1 |
Greengrass nucleus 版本 2.6.0 版本的版本已更新。 |
2.0.0 |
初始版本。 |