本文件 AWS CLI 僅適用於 的第 1 版。如需與 第 2 版相關的文件 AWS CLI,請參閱 第 2 版使用者指南 。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Payment Cryptography 使用 的資料平面範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 AWS Payment Cryptography Data Plane 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 decrypt-data
。
- AWS CLI
-
解密密碼文字
下列
decrypt-data
範例使用對稱金鑰解密密碼文字資料。對於此操作,金鑰必須KeyModesOfUse
設定為Decrypt
,並KeyUsage
設定為TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY
。aws payment-cryptography-data decrypt-data \ --key-identifier
arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h
\ --cipher-text33612AB9D6929C3A828EB6030082B2BD
\ --decryption-attributes 'Symmetric={Mode=CBC}
'輸出:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h", "KeyCheckValue": "71D7AE", "PlainText": "31323334313233343132333431323334" }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的解密資料。
-
如需API詳細資訊,請參閱 命令參考 DecryptData
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 encrypt-data
。
- AWS CLI
-
加密資料
下列
encrypt-data
範例使用對稱金鑰加密純文字資料。對於此操作,金鑰必須KeyModesOfUse
設定為Encrypt
,並KeyUsage
設定為TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY
。aws payment-cryptography-data encrypt-data \ --key-identifier
arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h
\ --plain-text31323334313233343132333431323334
\ --encryption-attributes 'Symmetric={Mode=CBC}
'輸出:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的加密資料。
-
如需API詳細資訊,請參閱 命令參考 EncryptData
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 generate-card-validation-data
。
- AWS CLI
-
若要產生 CVV
下列
generate-card-validation-data
範例會產生 CVV/CVV2。aws payment-cryptography-data generate-card-validation-data \ --key-identifier
arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h
\ --primary-account-number=171234567890123 \ --generation-attributesCardVerificationValue2={CardExpiryDate=0123}
輸出:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h", "KeyCheckValue": "CADDA1", "ValidationData": "801" }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的產生卡片資料。
-
如需API詳細資訊,請參閱 命令參考 GenerateCardValidationData
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 generate-mac
。
- AWS CLI
-
若要產生 MAC
下列
generate-card-validation-data
範例會使用演算法 HMAC_SHA256 和HMAC加密金鑰,為卡片資料驗證產生雜湊型訊息驗證碼 (HMAC)。金鑰必須KeyUsage
設定為TR31_M7_HMAC_KEY
,並將KeyModesOfUse
設定為Generate
。aws payment-cryptography-data generate-mac \ --key-identifier
arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h
\ --message-data"3b313038383439303031303733393431353d32343038323236303030373030303f33"
\ --generation-attributesAlgorithm=HMAC_SHA256
輸出:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h, "KeyCheckValue": "2976E7", "Mac": "ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C" }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的產生MAC。
-
如需API詳細資訊,請參閱 命令參考 GenerateMac
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 generate-pin-data
。
- AWS CLI
-
若要產生 PIN
下列
generate-card-validation-data
範例PIN使用 Visa PIN方案產生新的隨機。aws payment-cryptography-data generate-pin-data \ --generation-key-identifier
arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2
\ --encryption-key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt
\ --primary-account-number171234567890123
\ --pin-block-formatISO_FORMAT_0
\ --generation-attributesVisaPin={PinVerificationKeyIndex=1}
輸出:
{ "GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2", "GenerationKeyCheckValue": "7F2363", "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt", "EncryptionKeyCheckValue": "7CC9E2", "EncryptedPinBlock": "AC17DC148BDA645E", "PinData": { "VerificationValue": "5507" } }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的產生PIN資料。
-
如需API詳細資訊,請參閱 命令參考 GeneratePinData
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 re-encrypt-data
。
- AWS CLI
-
使用不同的金鑰重新加密資料
下列
re-encrypt-data
範例會解密使用AES對稱金鑰加密的密碼文字,並使用衍生的每筆交易唯一金鑰 (DUKPT) 金鑰重新加密。aws payment-cryptography-data re-encrypt-data \ --incoming-key-identifier
arn:aws:payment-cryptography:us-west-2:111122223333:key/hyvv7ymboitd4vfy
\ --outgoing-key-identifierarn:aws:payment-cryptography:us-west-2:111122223333:key/jl6ythkcvzesbxen
\ --cipher-text4D2B0BDBA192D5AEFEAA5B3EC28E4A65383C313FFA25140101560F75FE1B99F27192A90980AB9334
\ --incoming-encryption-attributes"Dukpt={Mode=ECB,KeySerialNumber=0123456789111111}"
\ --outgoing-encryption-attributes '{"Symmetric": {"Mode": "ECB"}}
'輸出:
{ "CipherText": "F94959DA30EEFF0C035483C6067667CF6796E3C1AD28C2B61F9CFEB772A8DD41C0D6822931E0D3B1", "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/jl6ythkcvzesbxen", "KeyCheckValue": "2E8CD9" }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的加密和解密資料。
-
如需API詳細資訊,請參閱 命令參考 ReEncryptData
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 translate-pin-data
。
- AWS CLI
-
若要轉譯PIN資料
下列
translate-pin-data
範例會使用DUKPT演算法,將 PIN 由使用 ISO 0 PIN區塊的PEKTDES加密轉換為 AES ISO 4 PIN區塊。aws payment-cryptography-data translate-pin-data \ --encrypted-pin-block
"AC17DC148BDA645E"
\ --incoming-translation-attributes=IsoFormat0='{PrimaryAccountNumber=171234567890123}' \ --incoming-key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt
\ --outgoing-key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/4pmyquwjs3yj4vwe
\ --outgoing-translation-attributes IsoFormat4="{PrimaryAccountNumber=171234567890123}" \ --outgoing-dukpt-attributes KeySerialNumber="FFFF9876543210E00008"輸出:
{ "PinBlock": "1F4209C670E49F83E75CC72E81B787D9", "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt "KeyCheckValue": "7CC9E2" }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的翻譯PIN資料。
-
如需API詳細資訊,請參閱 命令參考 TranslatePinData
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 verify-auth-request-cryptogram
。
- AWS CLI
-
驗證身分驗證請求
下列
verify-auth-request-cryptogram
範例會驗證授權請求加密圖 (ARQC)。aws payment-cryptography-data verify-auth-request-cryptogram \ --auth-request-cryptogram
F6E1BD1E6037FB3E
\ --auth-response-attributes '{"ArpcMethod1": {"AuthResponseCode": "1111"}}
' \ --key-identifierarn:aws:payment-cryptography:us-west-2:111122223333:key/pboipdfzd4mdklya
\ --major-key-derivation-mode"EMV_OPTION_A"
\ --session-key-derivation-attributes '{"EmvCommon": {"ApplicationTransactionCounter": "1234","PanSequenceNumber": "01","PrimaryAccountNumber": "471234567890123"}}
' \ --transaction-data"123456789ABCDEF"
輸出:
{ "AuthResponseValue": "D899B8C6FBF971AA", "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/pboipdfzd4mdklya", "KeyCheckValue": "985792" }
如需詳細資訊,請參閱 付款密碼編譯使用者指南 中的驗證身分驗證請求 (ARQC) 密碼編譯。 AWS
-
如需API詳細資訊,請參閱 命令參考 VerifyAuthRequestCryptogram
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 verify-card-validation-data
。
- AWS CLI
-
驗證 CVV
下列
verify-card-validation-data
範例會驗證 的 CVV/CVV2PAN。aws payment-cryptography-data verify-card-validation-data \ --key-identifier
arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi
\ --primary-account-number=171234567890123 \ --verification-attributesCardVerificationValue2={CardExpiryDate=0123}
\ --validation-data801
輸出:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "CADDA1" }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的驗證卡片資料。
-
如需API詳細資訊,請參閱 命令參考 VerifyCardValidationData
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 verify-mac
。
- AWS CLI
-
驗證 MAC
下列
verify-mac
範例會使用演算法 HMAC_SHA256 和HMAC加密金鑰,驗證以雜湊為基礎的訊息驗證碼 (HMAC) 以進行卡片資料驗證。aws payment-cryptography-data verify-mac \ --key-identifier
arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6
\ --message-data"3b343038383439303031303733393431353d32343038323236303030373030303f33"
\ --verification-attributes='Algorithm=HMAC_SHA256' \ --macED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C
輸出:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6, "KeyCheckValue": "2976E7", }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的驗證MAC。
-
如需API詳細資訊,請參閱 命令參考 VerifyMac
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 verify-pin-data
。
- AWS CLI
-
驗證 PIN
下列
verify-pin-data
範例會驗證 PIN的 PAN。aws payment-cryptography-data verify-pin-data \ --verification-key-identifier
arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2
\ --encryption-key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt
\ --primary-account-number171234567890123
\ --pin-block-formatISO_FORMAT_0
\ --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=5507}" \ --encrypted-pin-blockAC17DC148BDA645E
輸出:
{ "VerificationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2", "VerificationKeyCheckValue": "7F2363", "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt", "EncryptionKeyCheckValue": "7CC9E2", }
如需詳細資訊,請參閱 AWS 付款密碼編譯使用者指南 中的驗證PIN資料。
-
如需API詳細資訊,請參閱 命令參考 VerifyPinData
中的 。 AWS CLI
-