

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 CloudHSM CLI 產生非對稱 ML-DSA 金鑰對
<a name="cloudhsm_cli-key-generate-asymmetric-pair-mldsa"></a>

在 CloudHSM CLI 中使用 **key generate-asymmetric-pair ml-dsa**命令，在您的 AWS CloudHSM 叢集中產生非對稱 ML-DSA 金鑰對。ML-DSA 是一種後量子數位簽章演算法。當您需要使用抗量子演算法簽署或驗證資料時，請產生 ML-DSA 金鑰對。

## 使用者類型
<a name="key-generate-asymmetric-pair-mldsa-userType"></a>

下列類型的使用者可以執行此命令。
+ 加密使用者 (CU)

## 要求
<a name="key-generate-asymmetric-pair-mldsa-requirements"></a>

若要執行此命令，必須以 CU 的身分登入。

## 語法
<a name="key-generate-asymmetric-pair-mldsa-syntax"></a>

```
aws-cloudhsm > help key generate-asymmetric-pair ml-dsa
Generate an ML-DSA key pair

Usage: key generate-asymmetric-pair ml-dsa [OPTIONS] --public-label {{<PUBLIC_LABEL>}} --private-label {{<PRIVATE_LABEL>}} --mldsa-algorithm {{<MLDSA_ALGORITHM>}}

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
      --public-label {{<PUBLIC_LABEL>}}
          Label for the public key
      --private-label {{<PRIVATE_LABEL>}}
          Label for the private key
      --session
          Creates a session key pair that exists only in the current session. The key cannot be recovered after the session ends
      --mldsa-algorithm {{<MLDSA_ALGORITHM>}}
          ML-DSA algorithm [possible values: ML-DSA-44, ML-DSA-65, ML-DSA-87]
      --public-attributes [{{<PUBLIC_KEY_ATTRIBUTES>}}...]
          Space separated list of key attributes to set for the generated ML-DSA public key in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
      --private-attributes [{{<PRIVATE_KEY_ATTRIBUTES>}}...]
          Space separated list of key attributes to set for the generated ML-DSA private key in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
      --share-crypto-users [{{<SHARE_CRYPTO_USERS>}}...]
          Space separated list of Crypto User usernames to share the ML-DSA key with
      --manage-private-key-quorum-value {{<MANAGE_PRIVATE_KEY_QUORUM_VALUE>}}
          The quorum value for key management operations for the private key
      --use-private-key-quorum-value {{<USE_PRIVATE_KEY_QUORUM_VALUE>}}
          The quorum value for key usage operations for the private key
  -h, --help
          Print help
```

## 範例
<a name="key-generate-asymmetric-pair-mldsa-examples"></a>

這些範例示範如何使用 `key generate-asymmetric-pair ml-dsa`建立 ML-DSA 金鑰對。

**Example 範例：建立 ML-DSA-44 金鑰對**  

```
aws-cloudhsm > key generate-asymmetric-pair ml-dsa \
    --mldsa-algorithm ML-DSA-44 \
    --public-label ml-dsa-public-key-example \
    --private-label ml-dsa-private-key-example
{
  "error_code": 0,
  "data": {
    "public_key": {
      "key-reference": "0x000000000000240b",
      "key-info": {
        "key-owners": [
          {
            "username": "cu1",
            "key-coverage": "full"
          }
        ],
        "shared-users": [],
        "key-quorum-values": {
          "manage-key-quorum-value": 0,
          "use-key-quorum-value": 0
        },
        "cluster-coverage": "full"
      },
      "attributes": {
        "key-type": "ml-dsa",
        "label": "ml-dsa-public-key-example",
        "id": "0x",
        "check-value": "0x988721",
        "class": "public-key",
        "encrypt": false,
        "decrypt": false,
        "token": true,
        "always-sensitive": false,
        "derive": false,
        "destroyable": true,
        "extractable": true,
        "local": true,
        "modifiable": true,
        "never-extractable": false,
        "private": true,
        "mldsa-algorithm": "ML-DSA-44",
        "sensitive": false,
        "sign": false,
        "trusted": false,
        "unwrap": false,
        "verify": false,
        "wrap": false,
        "wrap-with-trusted": false,
        "key-length-bytes": 1312
      }
    },
    "private_key": {
      "key-reference": "0x0000000000000f63",
      "key-info": {
        "key-owners": [
          {
            "username": "cu1",
            "key-coverage": "full"
          }
        ],
        "shared-users": [],
        "key-quorum-values": {
          "manage-key-quorum-value": 0,
          "use-key-quorum-value": 0
        },
        "cluster-coverage": "full"
      },
      "attributes": {
        "key-type": "ml-dsa",
        "label": "ml-dsa-private-key-example",
        "id": "0x",
        "check-value": "0x988721",
        "class": "private-key",
        "encrypt": false,
        "decrypt": false,
        "token": true,
        "always-sensitive": true,
        "derive": false,
        "destroyable": true,
        "extractable": true,
        "local": true,
        "modifiable": true,
        "never-extractable": false,
        "private": true,
        "mldsa-algorithm": "ML-DSA-44",
        "sensitive": true,
        "sign": false,
        "trusted": false,
        "unwrap": false,
        "verify": false,
        "wrap": false,
        "wrap-with-trusted": false,
        "key-length-bytes": 2560
      }
    }
  }
}
```

**Example 範例：建立具有選用屬性的 ML-DSA 金鑰對**  

```
aws-cloudhsm > key generate-asymmetric-pair ml-dsa \
    --mldsa-algorithm ML-DSA-65 \
    --public-label ml-dsa-public-key-example \
    --private-label ml-dsa-private-key-example \
    --public-attributes verify=true \
    --private-attributes sign=true
{
  "error_code": 0,
  "data": {
    "public_key": {
      "key-reference": "0x00000000002806eb",
      "key-info": {
        "key-owners": [
          {
            "username": "cu1",
            "key-coverage": "full"
          }
        ],
        "shared-users": [],
        "key-quorum-values": {
          "manage-key-quorum-value": 0,
          "use-key-quorum-value": 0
        },
        "cluster-coverage": "full"
      },
      "attributes": {
        "key-type": "ml-dsa",
        "label": "ml-dsa-public-key-example",
        "mldsa-algorithm": "ML-DSA-65",
        "verify": true,
        "key-length-bytes": 1952
      }
    },
    "private_key": {
      "key-reference": "0x00000000002806ec",
      "key-info": {
        "key-owners": [
          {
            "username": "cu1",
            "key-coverage": "full"
          }
        ],
        "shared-users": [],
        "key-quorum-values": {
          "manage-key-quorum-value": 0,
          "use-key-quorum-value": 0
        },
        "cluster-coverage": "full"
      },
      "attributes": {
        "key-type": "ml-dsa",
        "label": "ml-dsa-private-key-example",
        "mldsa-algorithm": "ML-DSA-65",
        "sign": true,
        "key-length-bytes": 4032
      }
    }
  }
}
```

## 引數
<a name="key-generate-asymmetric-pair-mldsa-arguments"></a>

**{{<CLUSTER\_ID>}}**  
要執行此操作的叢集 ID。  
必要：如果已[設定多個叢集。](cloudhsm_cli-configs-multi-cluster.md)

**{{<MLDSA\_ALGORITHM>}}**  
指定 ML-DSA 演算法。  
+ ML-DSA-44
+ ML-DSA-65
+ ML-DSA-87
必要：是

**{{<PUBLIC\_KEY\_ATTRIBUTES>}}**  
指定要為產生的 ML-DSA 公有金鑰設定之金鑰屬性的空間分隔清單，格式為 `KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE`（例如 `verify=true`)。  
如需支援的金鑰屬性清單，請參閱 [CloudHSM CLI 的金鑰屬性](cloudhsm_cli-key-attributes.md)。  
必要：否

**{{<PUBLIC\_LABEL>}}**  
指使用者定義的公有金鑰標籤。用戶端 SDK `label` 5.11 和更新版本允許的大小上限為 127 個字元。用戶端 SDK 5.10 和以前的 限制為 126 個字元。  
必要：是

**{{<PRIVATE\_KEY\_ATTRIBUTES>}}**  
指定要為產生的 ML-DSA 私有金鑰設定之金鑰屬性的空間分隔清單，格式為 `KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE`（例如 `sign=true`)。  
如需支援的金鑰屬性清單，請參閱 [CloudHSM CLI 的金鑰屬性](cloudhsm_cli-key-attributes.md)。  
必要：否

**{{<PRIVATE\_LABEL>}}**  
指使用者定義的私有金鑰標籤。用戶端 SDK `label` 5.11 和更新版本允許的大小上限為 127 個字元。用戶端 SDK 5.10 和以前的 限制為 126 個字元。  
必要：是

**{{<SESSION>}}**  
建立只在目前工作階段中存在的金鑰。工作階段結束後，金鑰無法復原。  
當您只需要短暫的金鑰時，請使用此參數。  
根據預設，HSM 會產生持久性 （權杖） 金鑰。傳入 <SESSION> 會變更此項，確保 HSM 改為產生工作階段 （暫時性） 金鑰。  
必要：否

**{{<SHARE\_CRYPTO\_USERS>}}**  
指定要與之共用 ML-DSA 私有金鑰的加密使用者名稱以空格分隔的清單。  
必要：否

**{{<MANAGE\_PRIVATE\_KEY\_QUORUM\_VALUE>}}**  
私有金鑰金鑰管理操作的仲裁值。此值必須小於或等於與金鑰相關聯的使用者數目。這包括與之共用金鑰的使用者和金鑰擁有者。最大值為 8。  
必要：否

**{{<USE\_PRIVATE\_KEY\_QUORUM\_VALUE>}}**  
私有金鑰金鑰使用量操作的仲裁值。此值必須小於或等於與金鑰相關聯的使用者數目。這包括與之共用金鑰的使用者和金鑰擁有者。最大值為 8。  
必要：否

## 相關主題
<a name="key-generate-asymmetric-pair-mldsa-seealso"></a>
+ [CloudHSM CLI 的金鑰屬性](cloudhsm_cli-key-attributes.md)
+ [在 CloudHSM CLI 中使用 ML-DSA 機制產生簽章](cloudhsm_cli-crypto-sign-mldsa.md)
+ [在 CloudHSM CLI 中驗證使用 ML-DSA 機制簽署的簽章](cloudhsm_cli-crypto-verify-mldsa.md)