本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 CloudHSM CLI 中驗證使用 RSA-PKCS-PSS 機制簽署的簽章
使用 CloudHSM CLI 中的 crypto sign rsa-pkcs-pss命令來完成下列操作。
確認檔案已透過指定的公有金鑰在 HSM 中簽署。
驗證簽章是否使用 RSA-PKCS-PSS 簽署機制產生。
比較已簽章的檔案與來源檔案,並根據指定的 rsa 公有金鑰和簽署機制,判斷兩者是否與密碼編譯相關。
若要使用 crypto verify rsa-pkcs-pss命令,您必須先在 AWS CloudHSM 叢集中擁有 RSA 公有金鑰。您可以使用金鑰匯入 pem 命令 ADD UNWRAP LINK HERE) 匯入 RSA 公有金鑰,並將 verify
屬性設定為 true
。
注意
您可以使用 CloudHSM CLI 搭配 CloudHSM CLI 中的加密簽署類別子命令來產生簽章。
使用者類型
下列類型的使用者可以執行此命令。
-
加密使用者 (CU)
要求
-
若要執行此命令,必須以 CU 的身分登入。
語法
aws-cloudhsm >
help crypto verify rsa-pkcs-pss
Verify with the RSA-PKCS-PSS mechanism Usage: crypto verify rsa-pkcs-pss --key-filter [
<KEY_FILTER>
...] --hash-function<HASH_FUNCTION>
--mgf<MGF>
--salt-length>SALT_LENGTH<
<--data-path<DATA_PATH>
|--data<DATA
> <--signature-path<SIGNATURE_PATH>
|--signature<SIGNATURE>
> Options: --cluster-id<CLUSTER_ID>
Unique Id to choose which of the clusters in the config file to run the operation against. If not provided, will fall back to the value provided when interactive mode was started, or error --key-filter [<KEY_FILTER>
...] Key reference (e.g. key-reference=0xabc) or space separated list of key attributes in the form of attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE to select a matching key --hash-function<HASH_FUNCTION>
[possible values: sha1, sha224, sha256, sha384, sha512] --data-path<DATA_PATH>
The path to the file containing the data to be verified --data<DATA>
Base64 encoded data to be verified --signature-path<SIGNATURE_PATH>
The path to where the signature is located --signature<SIGNATURE>
Base64 encoded signature to be verified --data-type<DATA_TYPE>
The type of data passed in, either raw or digest [possible values: raw, digest] --mgf<MGF>
The mask generation function [possible values: mgf1-sha1, mgf1-sha224, mgf1-sha256, mgf1-sha384, mgf1-sha512] --salt-length<SALT_LENGTH>
The salt length -h, --help Print help
範例
這些範例示範如何使用 crypto verify rsa-pkcs-pss 驗證使用 RSA-PKCS-PSS 簽署機制和SHA256
雜湊函數產生的簽章。此命令在 HSM 中使用公有金鑰。
範例:使用 Base64 編碼資料驗證 Base64 編碼簽章
aws-cloudhsm >
crypto verify rsa-pkcs-pss --key-filter attr.label=rsa-public --hash-function sha256 --data YWJjMTIz --salt-length 10 --mgf mgf1-sha256 --signature H/z1rYVMzNAa31K4amE5MTiwGxDdCTgQXCJXRBKVOVm7ZuyI0fGE4sT/BUN+977mQEV2TqtWpTsiF2IpwGM1VfSBRt7h/g4o6YERm1tTQLl7q+AJ7uGGK37zCsWQrAo7Vy8NzPShxekePo/ZegrB1aHWN1fE8H3IPUKqLuMDI9o1Jq6kM986ExS7YmeOIclcZkyykTWqHLQVL2C3+A2bHJZBqRcM5XoIpk8HkPypjpN+m4FNUds30GAemoOMl6asSrEJSthaZWV53OBsDOqzA8Rt8JdhXS+GZp3vNLdL1OTBELDPweXVgAu4dBX0FOvpw/gg6sNvuaDK4YOBv2fqKg==
{ "error_code": 0, "data": { "message": "Signature verified successfully" } }
範例:使用資料檔案驗證簽章檔案
aws-cloudhsm >
crypto verify rsa-pkcs-pss --key-filter attr.label=rsa-public --hash-function sha256 --data-path data.txt --salt-length 10 --mgf mgf1-sha256 --signature signature-file
{ "error_code": 0, "data": { "message": "Signature verified successfully" } }
範例:證明錯誤簽署關係
此命令rsa-public
會使用 RSAPKCSPSS 簽署機制來產生位於 中的簽章,驗證無效資料是否由具有 標籤的公有金鑰簽署/home/signature
。由於指定的引數不會構成真正的簽署關係,因此命令會傳回錯誤訊息。
aws-cloudhsm >
crypto verify rsa-pkcs-pss --key-filter attr.label=rsa-public --hash-function sha256 --data aW52YWxpZA== --salt-length 10 --mgf mgf1-sha256 --signature H/z1rYVMzNAa31K4amE5MTiwGxDdCTgQXCJXRBKVOVm7ZuyI0fGE4sT/BUN+977mQEV2TqtWpTsiF2IpwGM1VfSBRt7h/g4o6YERm1tTQLl7q+AJ7uGGK37zCsWQrAo7Vy8NzPShxekePo/ZegrB1aHWN1fE8H3IPUKqLuMDI9o1Jq6kM986ExS7YmeOIclcZkyykTWqHLQVL2C3+A2bHJZBqRcM5XoIpk8HkPypjpN+m4FNUds30GAemoOMl6asSrEJSthaZWV53OBsDOqzA8Rt8JdhXS+GZp3vNLdL1OTBELDPweXVgAu4dBX0FOvpw/gg6sNvuaDK4YOBv2fqKg==
{ "error_code": 1, "data": "Signature verification failed" }
引數
<CLUSTER_ID>
-
要執行此操作的叢集 ID。
必要:如果已設定多個叢集。
<DATA>
-
要簽署的 Base64 編碼資料。
必要:是 (除非透過資料路徑提供)
<DATA_PATH>
-
指定要簽署的資料位置。
必要:是 (除非透過資料路徑提供)
<HASH_FUNCTION>
-
指定雜湊函數。
有效值:
sha1
sha224
sha256
sha384
sha512
必要:是
<KEY_FILTER>
-
索引鍵參考 (例如
key-reference=0xabc
) 或以空格分隔的索引鍵屬性清單,格式為attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
以選取相符的索引鍵。如需支援的 CloudHSM CLI 金鑰屬性清單,請參閱 CloudHSM CLI 的金鑰屬性。
必要:是
<MFG>
-
指定遮罩產生函數。
注意
遮罩產生函數雜湊函數必須符合簽署機制雜湊函數。
有效值:
mgf1-sha1
mgf1-sha224
mgf1-sha256
mgf1-sha384
mgf1-sha512
必要:是
<SIGNATURE>
-
Base64 編碼簽章。
必要:是 (除非透過簽章路徑提供)
<SIGNATURE_PATH>
-
指定簽章的位置。
必要:是 (除非透過簽章路徑提供)
<DATA_TYPE>
-
指定是否應將資料參數的值雜湊為簽署演算法的一部分。
raw
用於未雜湊的資料;digest
用於已雜湊的摘要。有效值:
raw
摘要