

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CloudHSM CLI の暗号化カテゴリ
<a name="cloudhsm_cli-crypto"></a>

CloudHSM CLI では、**crypto** はコマンドグループの親カテゴリであり、親カテゴリと組み合わせると暗号オペレーション固有のコマンドを作成します。現在、このカテゴリは次のコマンドで構成されています。
+ [サイン](cloudhsm_cli-crypto-sign.md)
  + [ecdsa](cloudhsm_cli-crypto-sign-ecdsa.md)
  + [ed25519ph](cloudhsm_cli-crypto-sign-ed25519ph.md)
  + [rsa-pkcs](cloudhsm_cli-crypto-sign-rsa-pkcs.md)
  + [rsa-pkcs-pss](cloudhsm_cli-crypto-sign-rsa-pkcs-pss.md)
+ [検証](cloudhsm_cli-crypto-verify.md)
  + [ecdsa](cloudhsm_cli-crypto-verify-ecdsa.md)
  + [ed25519ph](cloudhsm_cli-crypto-verify-ed25519ph.md)
  + [rsa-pkcs](cloudhsm_cli-crypto-verify-rsa-pkcs.md)
  + [rsa-pkcs-pss](cloudhsm_cli-crypto-verify-rsa-pkcs-pss.md)

# CloudHSM CLI の暗号化署名カテゴリ
<a name="cloudhsm_cli-crypto-sign"></a>

CloudHSM CLI では、**crypto sign** はコマンドグループの親カテゴリであり、親カテゴリと組み合わせると、 AWS CloudHSM クラスター内で選択したプライベートキーを使用して署名を生成します。**crypto sign** には、次のサブコマンドがあります。
+ [CloudHSM CLI で ECDSA メカニズムを使用して署名を生成する](cloudhsm_cli-crypto-sign-ecdsa.md)
+ [CloudHSM CLI で HashEdDSA メカニズムを使用して署名を生成する](cloudhsm_cli-crypto-sign-ed25519ph.md)
+ [CloudHSM CLI で RSA-PKCS メカニズムを使用して署名を生成する](cloudhsm_cli-crypto-sign-rsa-pkcs.md)
+ [CloudHSM CLI で RSA-PKCS-PSS メカニズムを使用して署名を生成する](cloudhsm_cli-crypto-sign-rsa-pkcs-pss.md)

**crypto sign** を使用するには、HSM 内にプライベートキーが必要です。プライベートキーは、次のコマンドで生成できます。
+ [key generate-asymmetric-pair ec](cloudhsm_cli-key-generate-asymmetric-pair-ec.md)
+ [key generate-asymmetric-pair rsa](cloudhsm_cli-key-generate-asymmetric-pair-rsa.md)

# CloudHSM CLI で ECDSA メカニズムを使用して署名を生成する
<a name="cloudhsm_cli-crypto-sign-ecdsa"></a>

CloudHSM CLI の **crypto sign ecdsa** コマンドを使用して、EC プライベートキーと ECDSA 署名メカニズムを使用して署名を生成します。

**crypto sign ecdsa** コマンドを使用するには、まず AWS CloudHSM クラスターに EC プライベートキーが必要です。`sign` 属性を `true` に設定して、[CloudHSM CLI を使用して非対称 EC キーペアを生成する](cloudhsm_cli-key-generate-asymmetric-pair-ec.md) コマンドを使用して EC プライベートキーを生成できます。

生成される ECDSA 署名は、r と のコンポーネントが raw バイナリデータとして連結され`r||s`、base64 でエンコードされた形式で返される 形式で生成されます。

**注記**  
署名は、 [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md) サブコマンド AWS CloudHSM を使用して で検証できます。

## ユーザーのタイプ
<a name="cloudhsm_cli-crypto-sign-ecdsa-userType"></a>

このコマンドは、次のタイプのユーザーが実行できます。
+ Crypto User (CU)

## 要件
<a name="cloudhsm_cli-crypto-sign-ecdsa-requirements"></a>
+ このコマンドを実行するには、CU としてログインする必要があります。

## Syntax
<a name="cloudhsm_cli-crypto-sign-ecdsa-syntax"></a>

```
aws-cloudhsm > help crypto sign ecdsa
Sign with the ECDSA mechanism

Usage: crypto sign ecdsa --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
```

## 例
<a name="cloudhsm_cli-crypto-sign-ecdsa-examples"></a>

これらの例は、**crypto sign ecdsa** を使用して、ECDSA 署名メカニズムと `SHA256` ハッシュ関数を使用して署名を生成する方法を示しています。このコマンドは HSM でプライベートキーを使用します。

**Example 例: ベース 64 でエンコードされたデータの署名を生成する**  

```
aws-cloudhsm > crypto sign ecdsa --key-filter attr.label=ec-private --hash-function sha256 --data YWJjMTIz
{
  "error_code": 0,
  "data": {
    "key-reference": "0x00000000007808dd",
    "signature": "4zki+FzjhP7Z/KqoQvh4ueMAxQQVp7FQguZ2wOS3Q5bzk+Hc5irV5iTkuxQbropPttVFZ8V6FgR2fz+sPegwCw=="
  }
}
```

**Example 例: データファイルの署名を生成する**  

```
aws-cloudhsm > crypto sign ecdsa --key-filter attr.label=ec-private --hash-function sha256 --data-path data.txt
{
  "error_code": 0,
  "data": {
    "key-reference": "0x00000000007808dd",
    "signature": "4zki+FzjhP7Z/KqoQvh4ueMAxQQVp7FQguZ2wOS3Q5bzk+Hc5irV5iTkuxQbropPttVFZ8V6FgR2fz+sPegwCw=="
  }
}
```

## 引数
<a name="cloudhsm_cli-crypto-sign-ecdsa-arguments"></a>

***<CLUSTER\$1ID>***  
このオペレーションを実行するクラスターの ID。  
必須: 複数のクラスターが[設定](cloudhsm_cli-configs-multi-cluster.md)されている場合。

***<DATA>***  
署名対象の Base64 でエンコードされたデータ。  
必須: はい (データパスを通じて提供される場合を除く）

***<DATA\$1PATH>***  
署名するデータの場所を指定します。  
必須: はい (データパスを通じて提供される場合を除く）

***<HASH\$1FUNCTION>***  
ハッシュ関数を指定します。  
有効な値:  
+ sha1
+ sha224
+ sha256
+ sha384
+ sha512
必須: はい

***<KEY\$1FILTER>***  
キー参照 (例: `key-reference=0xabc`) または attr.KEY\$1ATTRIBUTE\$1NAME=KEY\$1ATTRIBUTE\$1VALUE 形式のキー属性のスペース区切りリスト。これに一致するキーを選択します。  
サポートされている CloudHSM CLI キー属性のリストについては、「CloudHSM CLI のキー属性」を参照してください  
必須: はい

***<APPROVAL>***  
オペレーションを承認する署名付きクォーラムトークンファイルへのファイルパスを指定します。プライベートキーのキー使用サービスのクォーラム値が 1 より大きい場合にのみ必要です。

***<DATA\$1TYPE>***  
 データパラメータの値を、署名アルゴリズムの一部としてハッシュ化するかどうかを指定します。ハッシュされていないデータには `raw` を使用し、すでにハッシュされているダイジェストには `digest` を使用します。  
有効な値:  
+ raw
+ ダイジェスト

## 関連トピック
<a name="cloudhsm_cli-crypto-sign-ecdsa-seealso"></a>
+ [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)

# CloudHSM CLI で HashEdDSA メカニズムを使用して署名を生成する
<a name="cloudhsm_cli-crypto-sign-ed25519ph"></a>

**重要**  
HashEdDSA 署名オペレーションは、非 FIPS モードの hsm2m.medium インスタンスでのみサポートされています。

CloudHSM CLI の **crypto sign ed25519ph** コマンドを使用して、Ed25519 プライベートキーと HashEdDSA 署名メカニズムを使用して署名を生成します。HashEdDSA の詳細については、[NIST SP 186-5、セクション 7.8 ](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf)を参照してください。

**crypto sign ed25519ph** コマンドを使用するには、まず AWS CloudHSM クラスターに Ed25519 プライベートキーが必要です。`curve` パラメータを に設定`ed25519`し、`sign`属性を に設定して、 [CloudHSM CLI を使用して非対称 EC キーペアを生成する](cloudhsm_cli-key-generate-asymmetric-pair-ec.md) コマンドを使用して Ed25519 プライベートキーを生成できます`true`。

**注記**  
署名は、 [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md) サブコマンド AWS CloudHSM を使用して で検証できます。

## ユーザーのタイプ
<a name="cloudhsm_cli-crypto-sign-ed25519ph-userType"></a>

このコマンドは、次のタイプのユーザーが実行できます。
+ Crypto User (CU)

## 要件
<a name="cloudhsm_cli-crypto-sign-ed25519ph-requirements"></a>
+ このコマンドを実行するには、CU としてログインする必要があります。
+ HashEdDSA 署名オペレーションは、非 FIPS モードの hsm2m.medium インスタンスでのみサポートされています。

## Syntax
<a name="cloudhsm_cli-crypto-sign-ed25519ph-syntax"></a>

```
aws-cloudhsm > help crypto sign ed25519ph
Sign with the Ed25519ph mechanism

Usage: crypto sign ed25519ph [OPTIONS] --key-filter [<KEY_FILTER>...] --data-type <DATA_TYPE> --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
      --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]
      --hash-function <HASH_FUNCTION>
          Hash function [possible values: sha512]
  -h, --help
          Print help
```

## 例
<a name="cloudhsm_cli-crypto-sign-ed25519ph-examples"></a>

これらの例は、 **crypto sign ed25519ph**を使用して Ed25519ph 署名メカニズムと`sha512`ハッシュ関数を使用して署名を生成する方法を示しています。このコマンドは HSM でプライベートキーを使用します。

**Example 例: ベース 64 でエンコードされたデータの署名を生成する**  

```
aws-cloudhsm > crypto sign ed25519ph \
    --key-filter attr.label=ed25519-private \
    --data-type raw \
    --hash-function sha512 \
    --data YWJj
{
  "error_code": 0,
  "data": {
    "key-reference": "0x0000000000401cdf",
    "signature": "mKcCIvC4Ehqp0w+BPWg/gJ5GK0acf/h2OUmbuU5trkEx+FBCRjwqNVogA9BirfWqoQuMYeY2Biqq0RwqJgg0Bg=="
  }
}
```

**Example 例: データファイルの署名を生成する**  

```
aws-cloudhsm > crypto sign ed25519ph \
    --key-filter attr.label=ed25519-private \
    --data-type raw \
    --hash-function sha512 \
    --data-path data.txt
{
  "error_code": 0,
  "data": {
    "key-reference": "0x0000000000401cdf",
    "signature": "mKcCIvC4Ehqp0w+BPWg/gJ5GK0acf/h2OUmbuU5trkEx+FBCRjwqNVogA9BirfWqoQuMYeY2Biqq0RwqJgg0Bg=="
  }
}
```

## 引数
<a name="cloudhsm_cli-crypto-sign-ed25519ph-arguments"></a>

***<CLUSTER\$1ID>***  
このオペレーションを実行するクラスターの ID。  
必須: 複数のクラスターが[設定](cloudhsm_cli-configs-multi-cluster.md)されている場合。

***<DATA>***  
署名対象の Base64 でエンコードされたデータ。  
必須: はい (データパスを通じて提供される場合を除く）

***<DATA\$1PATH>***  
署名するデータの場所を指定します。  
必須: はい (データパラメータで指定されない限り)

***<HASH\$1FUNCTION>***  
ハッシュ関数を指定します。Ed25519ph は SHA512 のみをサポートします。  
有効な値:  
+ sha512
必須: はい

***<KEY\$1FILTER>***  
キー参照 (例: `key-reference=0xabc`) または attr.KEY\$1ATTRIBUTE\$1NAME=KEY\$1ATTRIBUTE\$1VALUE 形式のキー属性のスペース区切りリスト。これに一致するキーを選択します。  
サポートされている CloudHSM CLI キー属性のリストについては、「」を参照してください[CloudHSM CLI のキー属性](cloudhsm_cli-key-attributes.md)。  
必須: はい

***<APPROVAL>***  
オペレーションを承認する署名付きクォーラムトークンファイルへのファイルパスを指定します。プライベートキーのキー使用サービスのクォーラム値が 1 より大きい場合にのみ必要です。

***<DATA\$1TYPE>***  
 データパラメータの値を、署名アルゴリズムの一部としてハッシュ化するかどうかを指定します。ハッシュされていないデータには `raw` を使用し、すでにハッシュされているダイジェストには `digest` を使用します。  
有効な値:  
+ raw
+ ダイジェスト
必須: はい

## 関連トピック
<a name="cloudhsm_cli-crypto-sign-ed25519ph-seealso"></a>
+ [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)

# CloudHSM CLI で RSA-PKCS メカニズムを使用して署名を生成する
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs"></a>

CloudHSM CLI の **crypto sign rsa-pkcs** コマンドを使用して、RSA プライベートキーと RSA-PKCS 署名メカニズムを使用して署名を生成します。

**crypto sign rsa-pkcs** コマンドを使用するには、まず AWS CloudHSM クラスターに RSA プライベートキーが必要です。`sign` 属性を `true` に設定して、[CloudHSM CLI で非対称 RSA キーペアを生成する](cloudhsm_cli-key-generate-asymmetric-pair-rsa.md) コマンドを使用して RSA プライベートキーを生成できます。

**注記**  
署名は、 [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md) サブコマンド AWS CloudHSM を使用して で検証できます。

## ユーザーのタイプ
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-userType"></a>

このコマンドは、次のタイプのユーザーが実行できます。
+ Crypto User (CU)

## 要件
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-requirements"></a>
+ このコマンドを実行するには、CU としてログインする必要があります。

## Syntax
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-syntax"></a>

```
aws-cloudhsm > help crypto sign rsa-pkcs
Sign 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
```

## 例
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-examples"></a>

これらの例は、**crypto sign rsa-pkcs** を使用して、RSA-PKCS 署名メカニズムと `SHA256` ハッシュ関数を使用して署名を生成する方法を示しています。このコマンドは HSM でプライベートキーを使用します。

**Example 例: ベース 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=="
  }
}
```

**Example 例: データファイルの署名を生成する**  

```
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=="
  }
}
```

## 引数
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-arguments"></a>

***<CLUSTER\$1ID>***  
このオペレーションを実行するクラスターの ID。  
必須: 複数のクラスターが[設定](cloudhsm_cli-configs-multi-cluster.md)されている場合。

***<DATA>***  
署名対象の Base64 でエンコードされたデータ。  
必須: はい (データパスを通じて提供される場合を除く）

***<DATA\$1PATH>***  
署名するデータの場所を指定します。  
必須: はい (データを通じて提供される場合を除く）

***<HASH\$1FUNCTION>***  
ハッシュ関数を指定します。  
有効な値:  
+ sha1
+ sha224
+ sha256
+ sha384
+ sha512
必須: はい

***<KEY\$1FILTER>***  
キーリファレンス (例: `key-reference=0xabc`) または `attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE` 形式のキー属性のスペース区切りリスト。これに一致するキーを選択します。  
サポートされている CloudHSM CLI キー属性のリストについては、「CloudHSM CLI のキー属性」を参照してください  
必須: はい

***<APPROVAL>***  
オペレーションを承認する署名付きクォーラムトークンファイルへのファイルパスを指定します。プライベートキーのキー使用サービスのクォーラム値が 1 より大きい場合にのみ必要です。

***<DATA\$1TYPE>***  
 データパラメータの値を、署名アルゴリズムの一部としてハッシュ化するかどうかを指定します。ハッシュされていないデータには `raw` を使用し、すでにハッシュされているダイジェストには `digest` を使用します。  
RSA-PKCS の場合、データは [RFC 8017、セクション 9.2](https://www.rfc-editor.org/rfc/rfc8017#section-9.2) で規定されている DER エンコード形式で渡す必要があります。  
有効な値:  
+ raw
+ ダイジェスト

## 関連トピック
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-seealso"></a>
+ [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)

# CloudHSM CLI で RSA-PKCS-PSS メカニズムを使用して署名を生成する
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-pss"></a>

CloudHSM CLI の **crypto sign rsa-pkcs-pss** コマンドを使用して、RSA プライベートキーと `RSA-PKCS-PSS` 署名メカニズムを使用して署名を生成します。

**crypto sign rsa-pkcs-pss** コマンドを使用するには、まず AWS CloudHSM クラスターに RSA プライベートキーが必要です。`sign` 属性を `true` に設定して、[CloudHSM CLI で非対称 RSA キーペアを生成する](cloudhsm_cli-key-generate-asymmetric-pair-rsa.md) コマンドを使用して RSA プライベートキーを生成できます。

**注記**  
署名は、 [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md) サブコマンド AWS CloudHSM を使用して で検証できます。

## ユーザーのタイプ
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-userType"></a>

このコマンドは、次のタイプのユーザーが実行できます。
+ Crypto User (CU)

## 要件
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-requirements"></a>
+ このコマンドを実行するには、CU としてログインする必要があります。

## Syntax
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-syntax"></a>

```
aws-cloudhsm > help crypto sign rsa-pkcs-pss
Sign with the RSA-PKCS-PSS mechanism

Usage: crypto sign rsa-pkcs-pss [OPTIONS] --key-filter [<KEY_FILTER>...] --hash-function <HASH_FUNCTION> --mgf <MGF> --salt-length <SALT_LENGTH> <--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
      --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
      --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
```

## 例
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-examples"></a>

これらの例は、**crypto sign rsa-pkcs-pss** を使用して、`RSA-PKCS-PSS` 署名メカニズムと `SHA256` ハッシュ関数を使用して署名を生成する方法を示しています。このコマンドは HSM でプライベートキーを使用します。

**Example 例: ベース 64 でエンコードされたデータの署名を生成する**  

```
aws-cloudhsm > crypto sign rsa-pkcs-pss --key-filter attr.label=rsa-private --hash-function sha256 --data YWJjMTIz --salt-length 10 --mgf mgf1-sha256
{
  "error_code": 0,
  "data": {
    "key-reference": "0x00000000007008db",
    "signature": "H/z1rYVMzNAa31K4amE5MTiwGxDdCTgQXCJXRBKVOVm7ZuyI0fGE4sT/BUN+977mQEV2TqtWpTsiF2IpwGM1VfSBRt7h/g4o6YERm1tTQLl7q+AJ7uGGK37zCsWQrAo7Vy8NzPShxekePo/ZegrB1aHWN1fE8H3IPUKqLuMDI9o1Jq6kM986ExS7YmeOIclcZkyykTWqHLQVL2C3+A2bHJZBqRcM5XoIpk8HkPypjpN+m4FNUds30GAemoOMl6asSrEJSthaZWV53OBsDOqzA8Rt8JdhXS+GZp3vNLdL1OTBELDPweXVgAu4dBX0FOvpw/gg6sNvuaDK4YOBv2fqKg=="
  }
}
```

**Example 例: データファイルの署名を生成する**  

```
aws-cloudhsm > crypto sign rsa-pkcs-pss --key-filter attr.label=rsa-private --hash-function sha256 --data-path data.txt --salt-length 10 --mgf mgf1-sha256
{
  "error_code": 0,
  "data": {
    "key-reference": "0x00000000007008db",
    "signature": "H/z1rYVMzNAa31K4amE5MTiwGxDdCTgQXCJXRBKVOVm7ZuyI0fGE4sT/BUN+977mQEV2TqtWpTsiF2IpwGM1VfSBRt7h/g4o6YERm1tTQLl7q+AJ7uGGK37zCsWQrAo7Vy8NzPShxekePo/ZegrB1aHWN1fE8H3IPUKqLuMDI9o1Jq6kM986ExS7YmeOIclcZkyykTWqHLQVL2C3+A2bHJZBqRcM5XoIpk8HkPypjpN+m4FNUds30GAemoOMl6asSrEJSthaZWV53OBsDOqzA8Rt8JdhXS+GZp3vNLdL1OTBELDPweXVgAu4dBX0FOvpw/gg6sNvuaDK4YOBv2fqKg=="
  }
}
```

## 引数
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-arguments"></a>

***<CLUSTER\$1ID>***  
このオペレーションを実行するクラスターの ID。  
必須: 複数のクラスターが[設定](cloudhsm_cli-configs-multi-cluster.md)されている場合。

***<DATA>***  
署名対象の Base64 でエンコードされたデータ。  
必須: はい (データパスを通じて提供される場合を除く）

***<DATA\$1PATH>***  
署名するデータの場所を指定します。  
必須: はい (データを通じて提供される場合を除く）

***<HASH\$1FUNCTION>***  
ハッシュ関数を指定します。  
有効な値:  
+ sha1
+ sha224
+ sha256
+ sha384
+ sha512
必須: はい

***<KEY\$1FILTER>***  
キーリファレンス (例: `key-reference=0xabc`) または `attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE` 形式のキー属性のスペース区切りリスト。これに一致するキーを選択します。  
サポートされている CloudHSM CLI キー属性のリストについては、「CloudHSM CLI のキー属性」を参照してください  
必須: はい

***<MGF>***  
マスク生成関数を指定します。  
マスク生成関数のハッシュ関数は、署名メカニズムのハッシュ関数と一致する必要があります。
有効な値:  
+ mgf1-sha1
+ mgf1-sha224
+ mgf1-sha256
+ mgf1-sha384
+ mgf1-sha512
必須: はい

***<SALT\$1LENGTH>***  
ソルトの長さを指定します。  
必須: はい

***<APPROVAL>***  
オペレーションを承認する署名付きクォーラムトークンファイルへのファイルパスを指定します。プライベートキーのキー使用サービスのクォーラム値が 1 より大きい場合にのみ必要です。

***<DATA\$1TYPE>***  
 データパラメータの値を、署名アルゴリズムの一部としてハッシュ化するかどうかを指定します。ハッシュされていないデータには `raw` を使用し、すでにハッシュされているダイジェストには `digest` を使用します。  
有効な値:  
+ raw
+ ダイジェスト

## 関連トピック
<a name="cloudhsm_cli-crypto-sign-rsa-pkcs-seealso"></a>
+ [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)

## 関連トピック
<a name="cloudhsm_cli-crypto-sign-seealso"></a>
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)

# CloudHSM CLI の暗号化検証カテゴリ
<a name="cloudhsm_cli-crypto-verify"></a>

CloudHSM CLI では、**crypto verify** はコマンドグループの親カテゴリであり、親カテゴリと組み合わせるとファイルが指定されたキーによって署名されているかどうかを確認します。**crypto verify** には次のサブコマンドがあります。
+ [crypto verify ecdsa](cloudhsm_cli-crypto-verify-ecdsa.md)
+ [暗号化検証 ed25519ph](cloudhsm_cli-crypto-verify-ed25519ph.md)
+ [crypto verify rsa-pkcs](cloudhsm_cli-crypto-verify-rsa-pkcs.md)
+ [crypto verify rsa-pkcs-pss](cloudhsm_cli-crypto-verify-rsa-pkcs-pss.md)

**crypto verify** コマンドは、署名されたファイルをソースファイルと比較し、両者が指定されたパブリックキーと署名メカニズムに基づいて暗号的に関連するかどうかを分析します。

**注記**  
ファイルは [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)オペレーション AWS CloudHSM でサインインできます。

# CloudHSM CLI で ECDSA メカニズムを使用して署名された署名を検証する
<a name="cloudhsm_cli-crypto-verify-ecdsa"></a>

CloudHSM CLI の **crypto verify ecdsa** コマンドを使用して、次のオペレーションを完了します。
+ 指定されたパブリックキーによって HSM でファイルが署名されていることを確認します。
+ ECDSA 署名メカニズムを使用して署名が生成されたことを検証します。
+ 署名されたファイルをソースファイルと比較し、両者が指定された ecdsa パブリックキーと署名メカニズムに基づいて暗号的に関連するかどうかを判断します。
+  ECDSA 検証関数は、r と のコンポーネントが raw バイナリデータとして連結される `r||s`形式の署名を想定しています。

**crypto verify ecdsa** コマンドを使用するには、まず AWS CloudHSM クラスターに EC パブリックキーが必要です。`verify` 属性を `true` に設定して [CloudHSM CLI で PEM 形式キーをインポートする](cloudhsm_cli-key-import-pem.md) コマンドを使用して、EC パブリックキーをインポートできます。

**注記**  
CloudHSM CLI の [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md) サブコマンドを使用して署名を生成できます。

## ユーザーのタイプ
<a name="cloudhsm_cli-crypto-verify-ecdsa-userType"></a>

このコマンドは、次のタイプのユーザーが実行できます。
+ Crypto User (CU)

## 要件
<a name="cloudhsm_cli-crypto-verify-ecdsa-requirements"></a>
+ このコマンドを実行するには、CU としてログインする必要があります。

## Syntax
<a name="cloudhsm_cli-crypto-verify-ecdsa-syntax"></a>

```
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
      --data-type <DATA_TYPE>
          The type of data passed in, either raw or digest [possible values: raw, digest]
  -h, --help
          Print help
```

## 例
<a name="cloudhsm_cli-crypto-verify-ecdsa-examples"></a>

これらの例は、**crypto verify ecdsa** を使用して、ECDSA 署名メカニズムと `SHA256` ハッシュ関数を使用して生成された署名を検証する方法を示しています。このコマンドは HSM でパブリックキーを使用します。

**Example 例: 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"
  }
}
```

**Example 例: データファイルを使用して署名ファイルを検証する**  

```
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"
  }
}
```

**Example 例: 偽の署名関係を証明する**  
このコマンドは、`/home/data` にあるデータが、ラベル `ecdsa-public` 付きのパブリックキーによって、`/home/signature` にある署名を生成する ECDSA 署名メカニズムを使用して署名されたかどうかを検証します。指定の引数が真の署名関係を構成していないため、コマンドは、エラーメッセージを返します。  

```
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"
}
```

## 引数
<a name="cloudhsm_cli-crypto-verify-ecdsa-arguments"></a>

***<CLUSTER\$1ID>***  
このオペレーションを実行するクラスターの ID。  
必須: 複数のクラスターが[設定](cloudhsm_cli-configs-multi-cluster.md)されている場合。

***<DATA>***  
署名対象の Base64 でエンコードされたデータ。  
必須: はい (データパスを通じて提供される場合を除く）

***<DATA\$1PATH>***  
署名するデータの場所を指定します。  
必須: はい (データパスを通じて提供される場合を除く）

***<HASH\$1FUNCTION>***  
ハッシュ関数を指定します。  
有効な値:  
+ sha1
+ sha224
+ sha256
+ sha384
+ sha512
必須: はい

***<KEY\$1FILTER>***  
キーリファレンス (例: `key-reference=0xabc`) または `attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE` 形式のキー属性のスペース区切りリスト。これに一致するキーを選択します。  
サポートされている CloudHSM CLI キー属性のリストについては、「CloudHSM CLI のキー属性」を参照してください  
必須: はい

***<SIGNATURE>***  
Base64 でエンコードされた署名。  
必須: はい (署名パスを通じて提供される場合を除く）

***<SIGNATURE\$1PATH>***  
署名の場所を指定します。  
必須: はい (署名パスを通じて提供される場合を除く）

***<DATA\$1TYPE>***  
 データパラメータの値を、署名アルゴリズムの一部としてハッシュ化するかどうかを指定します。ハッシュされていないデータには `raw` を使用し、すでにハッシュされているダイジェストには `digest` を使用します。  
有効な値:  
+ raw
+ ダイジェスト

## 関連トピック
<a name="cloudhsm_cli-crypto-verify-ecdsa-seealso"></a>
+ [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)

# CloudHSM CLI で HashEdDSA メカニズムで署名された署名を検証する
<a name="cloudhsm_cli-crypto-verify-ed25519ph"></a>

**重要**  
HashEdDSA 署名検証オペレーションは、非 FIPS モードの hsm2m.medium インスタンスでのみサポートされます。

CloudHSM CLI の **crypto verify ed25519ph** コマンドを使用して、次のオペレーションを完了します。
+ 特定の Ed25519 パブリックキーを使用して、データまたはファイルの署名を検証します。
+ HashEdDSA 署名メカニズムを使用して署名が生成されたことを確認します。HashEdDSA の詳細については、[NIST SP 186-5、セクション 7.8 ](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf)を参照してください。

**crypto verify ed25519ph** コマンドを使用するには、まず AWS CloudHSM クラスターに Ed25519 パブリックキーが必要です。`curve` パラメータを に設定`ed25519`し、 `verify` 属性を に設定して [CloudHSM CLI を使用して非対称 EC キーペアを生成する](cloudhsm_cli-key-generate-asymmetric-pair-ec.md) コマンドを使用して Ed25519 キーペアを生成するか`true`、 `verify` 属性を に設定して [CloudHSM CLI で PEM 形式キーをインポートする](cloudhsm_cli-key-import-pem.md) コマンドを使用して Ed25519 パブリックキーをインポートできます`true`。

**注記**  
CloudHSM CLI の [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md) サブコマンドを使用して署名を生成できます。

## ユーザーのタイプ
<a name="cloudhsm_cli-crypto-verify-ed25519ph-userType"></a>

このコマンドは、次のタイプのユーザーが実行できます。
+ Crypto User (CU)

## 要件
<a name="cloudhsm_cli-crypto-verify-ed25519ph-requirements"></a>
+ このコマンドを実行するには、CU としてログインする必要があります。
+ HashEdDSA 署名検証オペレーションは、非 FIPS モードの hsm2m.medium インスタンスでのみサポートされます。

## Syntax
<a name="cloudhsm_cli-crypto-verify-ed25519ph-syntax"></a>

```
aws-cloudhsm > help crypto verify ed25519ph
Verify with the Ed25519ph mechanism

Usage: crypto verify ed25519ph [OPTIONS] --key-filter [<KEY_FILTER>...] --data-type <DATA_TYPE> --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
      --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]
      --hash-function <HASH_FUNCTION>
          Hash function [possible values: sha512]
  -h, --help
          Print help
```

## 例
<a name="cloudhsm_cli-crypto-verify-ed25519ph-examples"></a>

これらの例は、 **crypto verify ed25519ph**を使用して Ed25519ph 署名メカニズムと`sha512`ハッシュ関数を使用して生成された署名を検証する方法を示しています。このコマンドは HSM で Ed25519 パブリックキーを使用します。

**Example 例: Base64 でエンコードされた署名を Base64 でエンコードされたデータで検証する**  

```
aws-cloudhsm > crypto verify ed25519ph \
    --hash-function sha512 \
    --key-filter attr.label=ed25519-public \
    --data-type raw \
    --data YWJj \
    --signature mKcCIvC4Ehqp0w+BPWg/gJ5GK0acf/h2OUmbuU5trkEx+FBCRjwqNVogA9BirfWqoQuMYeY2Biqq0RwqJgg0Bg==
{
  "error_code": 0,
  "data": {
    "message": "Signature verified successfully"
  }
}
```

**Example 例: データファイルを使用して署名ファイルを検証する**  

```
aws-cloudhsm > crypto verify ed25519ph \
    --hash-function sha512 \
    --key-filter attr.label=ed25519-public \
    --data-type raw \
    --data-path data.txt \
    --signature-path signature-file
{
  "error_code": 0,
  "data": {
    "message": "Signature verified successfully"
  }
}
```

## 引数
<a name="cloudhsm_cli-crypto-verify-ed25519ph-arguments"></a>

***<CLUSTER\$1ID>***  
このオペレーションを実行するクラスターの ID。  
必須: 複数のクラスターが[設定](cloudhsm_cli-configs-multi-cluster.md)されている場合。

***<DATA>***  
検証する Base64 エンコードされたデータ。  
必須: はい (データパスを通じて提供される場合を除く）

***<DATA\$1PATH>***  
検証するデータの場所を指定します。  
必須: はい (データパラメータで指定されない限り)

***<HASH\$1FUNCTION>***  
ハッシュ関数を指定します。Ed25519ph は SHA512 のみをサポートします。  
有効な値:  
+ sha512
必須: はい

***<KEY\$1FILTER>***  
キーリファレンス (例: `key-reference=0xabc`) または `attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE` 形式のキー属性のスペース区切りリスト。これに一致するキーを選択します。  
サポートされている CloudHSM CLI キー属性のリストについては、「」を参照してください[CloudHSM CLI のキー属性](cloudhsm_cli-key-attributes.md)。  
必須: はい

***<SIGNATURE>***  
Base64 でエンコードされた署名。  
必須: はい (署名パスを通じて提供される場合を除く）

***<SIGNATURE\$1PATH>***  
署名の場所を指定します。  
必須: はい (署名パラメータで指定されない限り)

***<DATA\$1TYPE>***  
 データパラメータの値を検証アルゴリズムの一部としてハッシュするかどうかを指定します。ハッシュされていないデータには `raw` を使用し、すでにハッシュされているダイジェストには `digest` を使用します。  
有効な値:  
+ raw
+ ダイジェスト
必須: はい

## 関連トピック
<a name="cloudhsm_cli-crypto-verify-ed25519ph-seealso"></a>
+ [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)
+ [CloudHSM CLI で HashEdDSA メカニズムを使用して署名を生成する](cloudhsm_cli-crypto-sign-ed25519ph.md)

# CloudHSM CLI で RSA-PKCS メカニズムを使用して署名された署名を検証する
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs"></a>

CloudHSM CLI の **crypto verify rsa-pkcs** コマンドを使用して、次のオペレーションを完了します。
+ 指定されたパブリックキーによって HSM でファイルが署名されていることを確認します。
+ `RSA-PKCS` 署名メカニズムを使用して署名が生成されたことを検証します。
+ 署名されたファイルをソースファイルと比較し、両者が指定された rsa パブリックキーと署名メカニズムに基づいて暗号的に関連するかどうかを判断します。

**crypto verify rsa-pkcs** コマンドを使用するには、まず AWS CloudHSM クラスターに RSA パブリックキーが必要です。

**注記**  
CloudHSM CLI の [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md) サブコマンドを使用して署名を生成できます。

## ユーザーのタイプ
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-userType"></a>

このコマンドは、次のタイプのユーザーが実行できます。
+ Crypto User (CU)

## 要件
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-requirements"></a>
+ このコマンドを実行するには、CU としてログインする必要があります。

## Syntax
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-syntax"></a>

```
aws-cloudhsm > help crypto verify rsa-pkcs
Verify with the RSA-PKCS mechanism

Usage: crypto verify rsa-pkcs --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
      --data-type <DATA_TYPE>
          The type of data passed in, either raw or digest [possible values: raw, digest]
  -h, --help
          Print help
```

## 例
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-examples"></a>

これらの例は、**crypto verify rsa-pkcs** を使用して RSA-PKCS 署名メカニズムと `SHA256` ハッシュ関数を使用して生成された署名を検証する方法を示しています。このコマンドは HSM でパブリックキーを使用します。

**Example 例: Base64 でエンコードされた署名を Base64 でエンコードされたデータで検証する**  

```
aws-cloudhsm > crypto verify rsa-pkcs --hash-function sha256 --key-filter attr.label=rsa-public --data YWJjMTIz --signature XJ7mRyHnDRYrDWTQuuNb+5mhoXx7VTsPMjgOQW4iMN7E42eNHj2Q0oovMmBdHUEH0F4HYG8FBJOBhvGuM8J/z6y41GbowVpUT6WzjnIQs79K9i7i6oR1TYjLnIS3r/zkimuXcS8/ZxyDzru+GO9BUT9FFU/of9cvu4Oyn6a5+IXuCbKNQs19uASuFARUTZ0a0Ny1CB1MulxUpqGTmI91J6evlP7k/2khwDmJ5E8FEar5/Cvbn9t21p3Uj561ngTXrYbIZ2KHpef9jQh/cEIvFLG61sexJjQi8EdTxeDA+I3ITO0qrvvESvA9+Sj7kdG2ceIicFS8/8LwyxiIC31UHQ==
{
  "error_code": 0,
  "data": {
    "message": "Signature verified successfully"
  }
}
```

**Example 例: データファイルを使用して署名ファイルを検証する**  

```
aws-cloudhsm > crypto verify rsa-pkcs --hash-function sha256 --key-filter attr.label=rsa-public --data-path data.txt --signature-path signature-file
{
  "error_code": 0,
  "data": {
    "message": "Signature verified successfully"
  }
}
```

**Example 例: 偽の署名関係を証明する**  
このコマンドは、無効なデータが、ラベル `rsa-public` 付きのパブリックキーによって、`/home/signature` にある署名を生成する RSAPKCS 署名メカニズムを使用して署名されたかどうかを検証します。指定の引数が真の署名関係を構成していないため、コマンドは、エラーメッセージを返します。  

```
aws-cloudhsm > crypto verify rsa-pkcs --hash-function sha256 --key-filter attr.label=rsa-public --data aW52YWxpZA== --signature XJ7mRyHnDRYrDWTQuuNb+5mhoXx7VTsPMjgOQW4iMN7E42eNHj2Q0oovMmBdHUEH0F4HYG8FBJOBhvGuM8J/z6y41GbowVpUT6WzjnIQs79K9i7i6oR1TYjLnIS3r/zkimuXcS8/ZxyDzru+GO9BUT9FFU/of9cvu4Oyn6a5+IXuCbKNQs19uASuFARUTZ0a0Ny1CB1MulxUpqGTmI91J6evlP7k/2khwDmJ5E8FEar5/Cvbn9t21p3Uj561ngTXrYbIZ2KHpef9jQh/cEIvFLG61sexJjQi8EdTxeDA+I3ITO0qrvvESvA9+Sj7kdG2ceIicFS8/8LwyxiIC31UHQ==
{
  "error_code": 1,
  "data": "Signature verification failed"
}
```

## 引数
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-arguments"></a>

***<CLUSTER\$1ID>***  
このオペレーションを実行するクラスターの ID。  
必須: 複数のクラスターが[設定](cloudhsm_cli-configs-multi-cluster.md)されている場合。

***<DATA>***  
署名対象の Base64 でエンコードされたデータ。  
必須: はい (データパスを通じて提供される場合を除く）

***<DATA\$1PATH>***  
署名するデータの場所を指定します。  
必須: はい (データパスを通じて提供される場合を除く）

***<HASH\$1FUNCTION>***  
ハッシュ関数を指定します。  
有効な値:  
+ sha1
+ sha224
+ sha256
+ sha384
+ sha512
必須: はい

***<KEY\$1FILTER>***  
キーリファレンス (例: `key-reference=0xabc`) または `attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE` 形式のキー属性のスペース区切りリスト。これに一致するキーを選択します。  
サポートされている CloudHSM CLI キー属性のリストについては、「CloudHSM CLI のキー属性」を参照してください  
必須: はい

***<SIGNATURE>***  
Base64 でエンコードされた署名。  
必須: はい (署名パスを通じて提供される場合を除く）

***<SIGNATURE\$1PATH>***  
署名の場所を指定します。  
必須: はい (署名パスを通じて提供される場合を除く）

***<DATA\$1TYPE>***  
 データパラメータの値を、署名アルゴリズムの一部としてハッシュ化するかどうかを指定します。ハッシュされていないデータには `raw` を使用し、すでにハッシュされているダイジェストには `digest` を使用します。  
RSA-PKCS の場合、データは [RFC 8017、セクション 9.2](https://www.rfc-editor.org/rfc/rfc8017#section-9.2) で規定されている DER エンコード形式で渡す必要があります。  
有効な値:  
+ raw
+ ダイジェスト

## 関連トピック
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-seealso"></a>
+ [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)

# CloudHSM CLI で RSA-PKCS-PSS メカニズムを使用して署名された署名を検証する
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-pss"></a>

CloudHSM CLI の **crypto sign rsa-pkcs-pss** コマンドを使用して、次のオペレーションを完了します。
+ 指定されたパブリックキーによって HSM でファイルが署名されていることを確認します。
+ RSA-PKCS-PSS 署名メカニズムを使用して署名が生成されたことを検証します。
+ 署名されたファイルをソースファイルと比較し、両者が指定された rsa パブリックキーと署名メカニズムに基づいて暗号的に関連するかどうかを判断します。

**crypto verify rsa-pkcs-pss** コマンドを使用するには、まず AWS CloudHSM クラスターに RSA パブリックキーが必要です。`verify` 属性を `true` に設定して、キーインポート pem コマンド (ADD UNWRAP LINK HERE) を使用して RSA パブリックキーをインポートできます。

**注記**  
CloudHSM CLI の [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md) サブコマンドを使用して署名を生成できます。

## ユーザーのタイプ
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-pss-userType"></a>

このコマンドは、次のタイプのユーザーが実行できます。
+ Crypto User (CU)

## 要件
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-pss-requirements"></a>
+ このコマンドを実行するには、CU としてログインする必要があります。

## Syntax
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-pss-syntax"></a>

```
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
```

## 例
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-pss-examples"></a>

これらの例は、**crypto verify rsa-pkcs-pss** を使用して、RSA-PKCS-PSS 署名メカニズムと `SHA256` ハッシュ関数を使用して生成された署名を検証する方法を示しています。このコマンドは HSM でパブリックキーを使用します。

**Example 例: 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"
  }
}
```

**Example 例: データファイルを使用して署名ファイルを検証する**  

```
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"
  }
}
```

**Example 例: 偽の署名関係を証明する**  
このコマンドは、無効なデータが、ラベル `rsa-public` 付きのパブリックキーによって、`/home/signature` にある署名を生成する RSAPKCSPSS 署名メカニズムを使用して署名されたかどうかを検証します。指定の引数が真の署名関係を構成していないため、コマンドは、エラーメッセージを返します。  

```
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"
}
```

## 引数
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-pss-arguments"></a>

***<CLUSTER\$1ID>***  
このオペレーションを実行するクラスターの ID。  
必須: 複数のクラスターが[設定](cloudhsm_cli-configs-multi-cluster.md)されている場合。

***<DATA>***  
署名対象の Base64 でエンコードされたデータ。  
必須: はい (データパスを通じて提供される場合を除く）

***<DATA\$1PATH>***  
署名するデータの場所を指定します。  
必須: はい (データパスを通じて提供される場合を除く）

***<HASH\$1FUNCTION>***  
ハッシュ関数を指定します。  
有効な値:  
+ sha1
+ sha224
+ sha256
+ sha384
+ sha512
必須: はい

***<KEY\$1FILTER>***  
キーリファレンス (例: `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\$1PATH>***  
署名の場所を指定します。  
必須: はい (署名パスを通じて提供される場合を除く）

***<DATA\$1TYPE>***  
 データパラメータの値を、署名アルゴリズムの一部としてハッシュ化するかどうかを指定します。ハッシュされていないデータには `raw` を使用し、すでにハッシュされているダイジェストには `digest` を使用します。  
有効な値:  
+ raw
+ ダイジェスト

## 関連トピック
<a name="cloudhsm_cli-crypto-verify-rsa-pkcs-pss-seealso"></a>
+ [CloudHSM CLI の暗号化署名カテゴリ](cloudhsm_cli-crypto-sign.md)
+ [CloudHSM CLI の暗号化検証カテゴリ](cloudhsm_cli-crypto-verify.md)