本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
PKCS #11 供應商
PKCS #11 提供者元件 (aws.greengrass.crypto.Pkcs11Provider
) 可讓您將AWS IoT Greengrass核心軟體設定為透過 PK
若要佈建將憑證和私密金鑰儲存在 HSM 中的 Greengrass 核心裝置,您必須在安裝 Core 軟體時將此元件指定為佈建外掛程式。AWS IoT Greengrass如需詳細資訊,請參閱透過手動佈建資源安裝AWS IoT Greengrass核心軟體。
AWS IoT Greengrass將此元件提供為 JAR 檔案,您可以下載該檔案,以便在安裝期間指定為佈建外掛程式。您可以透過下列網址下載最新版本的元件 JAR 檔案:https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar
版本
此元件具有下列版本:
-
2.0.x
類型
這個組件是一個插件組件(aws.greengrass.plugin
)。Greengrass 核在與核相同的 Java 虛擬機(JVM)中運行此組件。當您在核心裝置上變更此元件的版本時,核心會重新啟動。
此組件使用與 Greengrass 核相同的日誌文件。如需詳細資訊,請參閱監控AWS IoT Greengrass日誌。
如需詳細資訊,請參閱元件類型。
作業系統
此元件只能安裝在 Linux 核心裝置上。
請求
此元件具有下列需求:
-
一種硬體安全性模組,支援 PKCS #1 v1.5
簽章配置,以及具有 RSA-2048 金鑰大小 (或更大) 或 ECC 金鑰的 RSA 金鑰。 注意
若要搭配 ECC 金鑰使用硬體安全性模組,您必須使用 Greengrass 核心 v2.5.6 或更新版本。
要使用硬件安全模塊和密碼管理器,您必須使用帶有 RSA 密鑰的硬件安全模塊。
-
AWS IoT Greengrass核心軟體可以在執行階段 (使用 libdl) 載入的 PKCS #11 提供者程式庫,以呼叫 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,則必須使用相同的物件標籤和物件 ID。
-
憑證和私密金鑰必須可透過物件標籤來解析。
-
私密金鑰必須具有下列權限:
-
sign
-
decrypt
-
-
(選擇性) 若要使用密碼管理員元件,您必須使用 2.1.0 或更新版本,且私密金鑰必須具有下列權限:
-
unwrap
-
wrap
-
-
(選擇性) 如果您使用 TPM2 程式庫並將 Greengrass 核心作為服務執行,則必須提供環境變數,其中包含 PKCS #11 儲存區的位置。下列範例是具有必要環境變數的 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
相依性
部署元件時,AWS IoT Greengrass也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的需求,才能成功部署元件。本節列出此元件之已發行版本的相依性,以及定義每個相依性之元件版本的語意版本條件約束。您也可以在AWS IoT Greengrass主控台
如需有關元件相依性的詳細資訊,請參閱元件方案參考。
組態
此元件提供下列組態參數,您可以在部署元件時自訂這些參數。
name
-
PKCS #11 組態的名稱。
library
-
PKCS #11 實作程式庫的絕對檔案路徑,AWS IoT Greengrass核心軟體可以使用 libdl 載入。
slot
-
包含私密金鑰和裝置憑證的插槽識別碼。此值與槽索引或槽標籤不同。
userPin
-
用來存取插槽的使用者 PIN 碼。
範例:組態合併更新
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }
本機記錄檔
此元件使用與 Greengrass 核元件相同的記錄檔。
若要檢視此元件的記錄
-
在核心裝置上執行下列命令,即時檢視此元件的記錄檔。將
/greengrass/v2
或C:\greengrass\v2
取代為AWS IoT Greengrass根資料夾的路徑。
Changelog
下表說明元件每個版本的變更。
版本 |
變更 |
---|---|
2.0.6 |
版本更新 Greengrass 2.11.0 版本釋放。 |
2.0.5 |
版本更新了 Greengrass 2.10.0 版本。 |
2.0.4 |
版本更新 Greengrass 2.9.0 版本釋放。 |
2.0.3 |
版本更新 Greengrass 2.8.0 版本發布。 |
2.0.2 |
版本更新了 Greengrass 核 2.7.0 版本釋放。 |
2.0.1 |
版本更新 Greengrass 2.6.0 版本發布。 |
2.0.0 |
初始版本。 |