PKCS #11 提供商 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

PKCS #11 提供商

PKCS #11 提供程序组件 (aws.greengrass.crypto.Pkcs11Provider)使您能够配置Amazon IoT Greengrass通过PKCS #11 界面. 此组件使您能够安全地存储证书和私钥文件,以便它们不会在软件中公开或重复。有关更多信息,请参阅 硬件安全性集成

要置备将其证书和私钥存储在 HSM 中的 Greengrass 核心设备,必须在安装Amazon IoT Greengrass核心软件。有关更多信息,请参阅 安装Amazon IoT Greengrass具有手动资源配置的核心软件

Amazon IoT Greengrass将此组件作为 JAR 文件提供,您可以下载该文件以在安装过程中指定为置备插件。您可以将最新版本的组件 JAR 文件作为以下 URL 下载:https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

版本

此组件具有以下版本:

  • 2.0.0

类型

这个组件是一个插件组件 (aws.greengrass.plugin)。这些区域有:Greengrass 核心在与核心相同的 Java 虚拟机 (JVM) 中运行此组件。当您在核心设备上更改此组件的版本时,核心会重新启动。

此组件使用与 Greengrass 核心相同的日志文件。有关更多信息,请参阅 显示器Amazon IoT Greengrass圆木

有关更多信息,请参阅 组件类型

操作系统

此组件只能安装在 Linux 核心设备上。

要求

此组件具有以下要求:

  • 支持PKCS #1 v1.5密钥大小(或更大)或 ECC 密钥的签名方案和 RSA 密钥。RSA-2048

    注意

    要使用带 ECC 密钥的硬件安全模块,必须使用Greengrass 核心v2.5.6 或更高版本。

    使用硬件安全模块和Secret Manager,您必须使用带有 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 中,如果 HSM 支持对象 ID,它们必须使用相同的对象标签和对象 ID。

  • 证书和私有密钥必须通过对象标签来解析。

  • 私有密钥必须具有以下权限:

    • sign

    • decrypt

  • (可选)使用Secret Manager 组件,您必须使用 2.1.0 或更高版本,并且私钥必须具有以下权限:

    • unwrap

    • wrap

附属物

当你部署组件时,Amazon IoT Greengrass还可以部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署组件。本部分列出的依赖项发布的版本以及定义每个依赖项的组件版本的语义版本约束。您也可以在Amazon IoT Greengrass控制台. 在组件详细信息页面上,查找依赖项列表。

下表列出了此组件 2.0.0 版的依赖项。

依赖关系 兼容的版本 依赖项类型
Greengrass 核心 >=2.5.3 <2.6.0 软性

有关组件依赖项的更多信息,请参阅组件配方参考.

配置

此组件提供了以下配置参数,您可以在部署组件时自定义这些参数。

name

PKCS #11 配置的名称。

library

PKCS #11 实施库的绝对文件路径Amazon IoT Greengrass核心软件可以使用 libdl 加载。

slot

包含私钥和设备证书的插槽的 ID。该值与插槽索引或插槽标签不同。

userPin

用于访问插槽的用户 PIN 码。

例如:更新配置合并

{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

本地日志文件

此组件使用的日志文件与Greengrass 核心组件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log

查看此组件的日志

  • 在核心设备上运行以下命令以实时查看此组件的日志文件。Replace/绿草/v2要么C:\greengrass\v2随着通往Amazon IoT Greengrass根文件夹。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

更改日志

下表介绍了组件各个版本的更改。

Version

更改

2.0.0

初始版本。