CloudHSM CLI で RSA-PKCS メカニズムを使用して署名を生成する
CloudHSM CLI の crypto sign rsa-pkcs コマンドを使用して、RSA プライベートキーと RSA-PKCS 署名メカニズムを使用して署名を生成します。
crypto sign rsa-pkcs コマンドを使用するには、まず AWS CloudHSM クラスターに RSA プライベートキーが必要です。sign 属性を true に設定して、CloudHSM CLI で非対称 RSA キーペアを生成する コマンドを使用して RSA プライベートキーを生成できます。
注記
署名は、CloudHSM CLI の暗号化検証カテゴリ サブコマンドを使用して AWS CloudHSM で検証できます。
ユーザータイプ
このコマンドは、次のタイプのユーザーが実行できます。
-
Crypto User (CU)
要件
-
このコマンドを実行するには、CU としてログインする必要があります。
Syntax
aws-cloudhsm >help crypto sign rsa-pkcsSign with the RSA-PKCS mechanism Usage: crypto sign rsa-pkcs --key-filter [<KEY_FILTER>>...] --hash-function<HASH_FUNCTION><--data-path<DATA_PATH>|--data<DATA>> 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 signed --data<DATA>Base64 Encoded data to be signed --approval<APPROVAL>Filepath of signed quorum token file to approve operation --data-type<DATA_TYPE>The type of data passed in, either raw or digest [possible values: raw, digest] -h, --help Print help
例
これらの例は、crypto sign rsa-pkcs を使用して、RSA-PKCS 署名メカニズムと SHA256 ハッシュ関数を使用して署名を生成する方法を示しています。このコマンドは HSM でプライベートキーを使用します。
例: ベース 64 でエンコードされたデータの署名を生成する
aws-cloudhsm >crypto sign rsa-pkcs --key-filter attr.label=rsa-private --hash-function sha256 --data YWJjMTIz{ "error_code": 0, "data": { "key-reference": "0x00000000007008db", "signature": "XJ7mRyHnDRYrDWTQuuNb+5mhoXx7VTsPMjgOQW4iMN7E42eNHj2Q0oovMmBdHUEH0F4HYG8FBJOBhvGuM8J/z6y41GbowVpUT6WzjnIQs79K9i7i6oR1TYjLnIS3r/zkimuXcS8/ZxyDzru+GO9BUT9FFU/of9cvu4Oyn6a5+IXuCbKNQs19uASuFARUTZ0a0Ny1CB1MulxUpqGTmI91J6evlP7k/2khwDmJ5E8FEar5/Cvbn9t21p3Uj561ngTXrYbIZ2KHpef9jQh/cEIvFLG61sexJjQi8EdTxeDA+I3ITO0qrvvESvA9+Sj7kdG2ceIicFS8/8LwyxiIC31UHQ==" } }
例: データファイルの署名を生成する
aws-cloudhsm >crypto sign rsa-pkcs --key-filter attr.label=rsa-private --hash-function sha256 --data-path data.txt{ "error_code": 0, "data": { "key-reference": "0x00000000007008db", "signature": "XJ7mRyHnDRYrDWTQuuNb+5mhoXx7VTsPMjgOQW4iMN7E42eNHj2Q0oovMmBdHUEH0F4HYG8FBJOBhvGuM8J/z6y41GbowVpUT6WzjnIQs79K9i7i6oR1TYjLnIS3r/zkimuXcS8/ZxyDzru+GO9BUT9FFU/of9cvu4Oyn6a5+IXuCbKNQs19uASuFARUTZ0a0Ny1CB1MulxUpqGTmI91J6evlP7k/2khwDmJ5E8FEar5/Cvbn9t21p3Uj561ngTXrYbIZ2KHpef9jQh/cEIvFLG61sexJjQi8EdTxeDA+I3ITO0qrvvESvA9+Sj7kdG2ceIicFS8/8LwyxiIC31UHQ==" } }
引数
<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 のキー属性」を参照してください
必須: はい
<APPROVAL>-
オペレーションを承認する署名付きクォーラムトークンファイルへのファイルパスを指定します。プライベートキーのキー使用サービスのクォーラム値が 1 より大きい場合にのみ必要です。
<DATA_TYPE>-
データパラメータの値を、署名アルゴリズムの一部としてハッシュ化するかどうかを指定します。ハッシュされていないデータには
rawを使用し、すでにハッシュされているダイジェストにはdigestを使用します。RSA-PKCS の場合、データは RFC 8017、セクション 9.2
で規定されている DER エンコード形式で渡す必要があります。 有効な値:
raw
ダイジェスト