

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

# 使用 KMU 匯出私有 AWS CloudHSM 金鑰
<a name="key_mgmt_util-exportPrivateKey"></a>

使用 AWS CloudHSM key\$1mgmt\$1util 中的 **exportPrivateKey**命令，將非對稱私有金鑰從硬體安全模組 (HSM) 匯出至檔案。HSM 不允許以純文字形式直接匯出金鑰。該命令使用您指定的 AES 包裝密鑰來包裝私有金鑰，解密包裝的位元組，並以純文字形式將私有金鑰複製到檔案中。

**exportPrivateKey** 命令不會從 HSM 移除金鑰、變更其[金鑰屬性](key-attribute-table.md)，也不會阻止您在進一步的密碼編譯操作中使用該金錀。您可以多次匯出相同的金鑰。

您只能匯出私有金鑰具有 `OBJ_ATTR_EXTRACTABLE` 屬性值 `1`。您須指定具有 `OBJ_ATTR_WRAP` 和 `OBJ_ATTR_DECRYPT` 屬性值 `1` 的 AES 包裝金錀。若要尋找金鑰的屬性，請使用 [**getAttribute**](key_mgmt_util-getAttribute.md) 命令。

執行任何 key\$1mgmt\$1util 命令之前，您必須先[啟動 key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) 並以加密使用者 (CU) 的身分[登入](key_mgmt_util-log-in.md) HSM。

## 語法
<a name="exportPrivateKey-syntax"></a>

```
exportPrivateKey -h

exportPrivateKey -k <private-key-handle>
                 -w <wrapping-key-handle>
                 -out <key-file>
                 [-m <wrapping-mechanism>]
                 [-wk <wrapping-key-file>]
```

## 範例
<a name="exportPrivateKey-examples"></a>

此範例顯示如何使用 **exportPrivateKey** 從 HSM 匯出私有金鑰。

**Example ：匯出私有金鑰**  
此命命以包含控制代碼 `16` 的包裝金鑰，將包含控制代碼 `15` 的私有金鑰匯出至稱為 `exportKey.pem` 的 PEM 檔案。當命令成功時，**exportPrivateKey** 會傳回成功訊息。  

```
Command: exportPrivateKey -k 15 -w 16 -out exportKey.pem

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

PEM formatted private key is written to exportKey.pem
```

## Parameters
<a name="exportPrivateKey-parameters"></a>

此命令會使用下列參數。

**`-h`**  
顯示命令的命令列說明。  
必要：是

**`-k`**  
指定要匯出之私有金鑰的金鑰控制代碼。  
必要：是

**`-w`**  
指定包裝金鑰的金鑰控制代碼。此為必要參數。若要找出金鑰控制代碼，請使用 [**findKey**](key_mgmt_util-findKey.md) 命令。  
若要判斷金鑰是否可以做為包裝金鑰使用，請使用 [**getAttribute**](key_mgmt_util-getAttribute.md) 取得 `OBJ_ATTR_WRAP` 屬性 (262) 的值。若要建立包裝金鑰，請使用 [**genSymKey**](key_mgmt_util-genSymKey.md) 建立 AES 金鑰 (類型 31)。  
如果您使用 `-wk` 參數來指定外部的取消包裝金鑰，則在匯出期間會使用 `-w` 包裝金鑰來進行包裝，但不會用來取消包裝。  
必要：是

**`-out`**  
指定將寫入匯出之私有金鑰的檔案名稱。  
必要：是

**`-m`**  
指定用來包裝匯出之私有金鑰的包裝機制。唯一的有效值是 `4`，這代表 `NIST_AES_WRAP mechanism.`。  
預設：4 (`NIST_AES_WRAP`)  
必要：否

**`-wk`**  
指定用於將匯出之金鑰取消包裝的金鑰。輸入包含純文字 AES 金鑰的檔案路徑和名稱。  
當您加入此參數時，**exportPrivateKey** 會使用在 `-w` 檔案中的金鑰來包裝要匯出的金鑰，並使用 `-wk` 參數指定的金鑰來取消包裝此金鑰。  
預設：使用在 `-w` 參數中指定的包裝金鑰來進行包裝和取消包裝。  
必要：否

## 相關主題
<a name="exportPrivateKey-seealso"></a>
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [wrapKey](key_mgmt_util-wrapKey.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)