本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
驗證在 Cloud 中使用 ECDSA機制簽署的簽章HSM CLI
使用 CloudHSM 中的 crypto verify ecdsa命令CLI來完成下列操作:
確認檔案已由指定的公有金鑰HSM在 中簽署。
使用簽署機制驗證是否產生ECDSA簽章。
比較已簽章檔案與來源檔案,並根據指定的 ecdsa 公有金鑰和簽署機制,判斷兩者是否為密碼編譯相關。
若要使用 crypto verify ecdsa命令,您必須先在 AWS CloudHSM 叢集中擁有 EC 公有金鑰。您可以使用 verify
屬性設定為 的 使用 Cloud 匯入PEM格式金鑰HSM CLI命令匯入 EC 公有金鑰true
。
注意
您可以使用Cloud 中的加密簽署類別HSM CLI子命令在 CloudHSM CLI 中產生簽章。
使用者類型
下列類型的使用者可以執行此命令。
-
加密使用者 (CUs)
要求
-
若要執行此命令,必須以 CU 的身分登入。
語法
aws-cloudhsm >
help crypto verify ecdsa
Verify with the ECDSA mechanism Usage: crypto verify ecdsa --key-filter [
<KEY_FILTER>
...] --hash-function<HASH_FUNCTION>
<--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 -h, --help Print help
範例
這些範例示範如何使用 crypto verify ecdsa 來驗證使用簽署機制和SHA256
雜湊函數產生的ECDSA簽章。此命令在 中使用公有金鑰HSM。
範例:使用 Base64 編碼資料驗證 Base64 編碼簽章
aws-cloudhsm >
crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data YWJjMTIz --signature 4zki+FzjhP7Z/KqoQvh4ueMAxQQVp7FQguZ2wOS3Q5bzk+Hc5irV5iTkuxQbropPttVFZ8V6FgR2fz+sPegwCw==
{ "error_code": 0, "data": { "message": "Signature verified successfully" } }
範例:使用資料檔案驗證簽章檔案
aws-cloudhsm >
crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data-path data.txt --signature-path signature-file
{ "error_code": 0, "data": { "message": "Signature verified successfully" } }
範例:驗證錯誤簽署關係
此命令會驗證位於 的資料是否由具有標籤的公有金鑰/home/data
簽署,ecdsa-public
並使用ECDSA簽署機制產生位於 中的簽章/home/signature
。由於指定的引數不會構成真正的簽署關係,因此 命令會傳回錯誤訊息。
aws-cloudhsm >
crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data aW52YWxpZA== --signature +ogk7M7S3iTqFg3SndJfd91dZFr5Qo6YixJl8JwcvqqVgsVuO6o+VKvTRjz0/V05kf3JJbBLr87Q+wLWcMAJfA==
{ "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。
必要:是
<SIGNATURE>
-
Base64 編碼簽章。
必要:是 (除非透過簽章路徑提供)
<SIGNATURE_PATH>
-
指定簽章的位置。
必要:是 (除非透過簽章路徑提供)