

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

# 使用動態金鑰
<a name="use-cases-acquirers-dynamickeys"></a>

 動態金鑰允許一次性或有限使用金鑰用於密碼編譯操作，例如 `[EncryptData](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_EncryptData.html)`。當金鑰材料頻繁輪換 （例如在每個卡片交易上），並且想要避免將金鑰材料匯入服務時，可以使用此流程。短期金鑰可用作 [softPOS/Mpoc](terminology.md#terms.mpoc) 或其他解決方案的一部分。

**注意**  
 這可用於代替使用 AWS 付款密碼編譯的典型流程，其中密碼編譯金鑰是建立或匯入服務，而金鑰是使用金鑰別名或金鑰 arn 指定。

下列操作支援動態金鑰：
+ EncryptData
+ DecryptData
+ ReEncryptData
+ TranslatePin

## 解密資料
<a name="use-case-acquirers-dynamickeys.examples.decryptdata"></a>

 下列範例顯示搭配解密命令使用動態金鑰。在此情況下，金鑰識別符是保護解密金鑰的包裝金鑰 (KEK) （以 TR-31 格式在包裝金鑰參數中提供）。包裝金鑰應為 D0 的關鍵用途，以搭配解密命令以及 B 或 D 的使用模式使用。

**Example**  

```
$ aws payment-cryptography-data decrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza --cipher-text 1234123412341234123412341234123A --decryption-attributes 'Symmetric={Mode=CBC,InitializationVector=1234123412341234}'   --wrapped-key WrappedKeyMaterial={"Tr31KeyBlock"="D0112D0TN00E0000B05A6E82D7FC68B95C84306634B0000DA4701BE9BCA318B3A30A400B059FD4A8DE19924A9D3EE459F24FDE680F8E4A40"}
```

```
{
   "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza",
   "KeyCheckValue": "0A3674",
   "PlainText": "2E138A746A0032023BEF5B85BA5060BA"
}
```

## 翻譯 PIN 碼
<a name="use-case-acquirers-dynamickeys.examples.translatepin"></a>

 下列範例顯示使用動態金鑰和轉譯接腳命令，將動態金鑰轉譯為半靜態取得器工作金鑰 (AWK)。在這種情況下，傳入金鑰識別符是包裝金鑰 (KEK)，用於保護 TR-31 格式提供的動態 PIN 加密金鑰 (PEK)。包裝金鑰應該是 的金鑰用途，`P0`以及 B 或 D 的使用模式。傳出金鑰識別符是 類型的金鑰`TR31_P0_PIN_ENCRYPTION_KEY`和 Encrypt=true、Wrap=true 的使用模式 

**Example**  

```
$ aws payment-cryptography-data translate-pin-data --encrypted-pin-block "C7005A4C0FA23E02" --incoming-translation-attributes=IsoFormat0='{PrimaryAccountNumber=171234567890123}' --incoming-key-identifier alias/PARTNER1_KEK  --outgoing-key-identifier alias/ACQUIRER_AWK_PEK --outgoing-translation-attributes IsoFormat0="{PrimaryAccountNumber=171234567890123}"  --incoming-wrapped-key WrappedKeyMaterial={"Tr31KeyBlock"="D0112P0TB00S0000EB5D8E63076313162B04245C8CE351C956EA4A16CC32EB3FB61DE3FC75C751734B773F5B645943A854C65740738B8304"}
```

```
{
   "PinBlock": "2E66192BDA390C6F",
   "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza",
   "KeyCheckValue": "0A3674"
}
```