本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Payment Cryptography 使用数据平面示例 AWS CLI
以下代码示例向您展示了如何使用 with D AWS Payment Cryptography ata Plane 来执行操作和实现常见场景。 AWS Command Line Interface
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例显示了如何使用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对称密钥加密的密文进行解密,并使用每笔交易派生的唯一密钥 () 密钥对其进行重新加密。DUKPTaws 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算法将 a 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 支付密码学用户指南》中的 Tr anslate 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" }
有关更多信息,请参阅《AWS 支付加密用户指南》中的验证身份验证请求 (ARQC) 密码。
-
有关API详细信息,请参阅 “VerifyAuthRequestCryptogram AWS CLI
命令参考”。
-
以下代码示例显示了如何使用verify-card-validation-data
。
- AWS CLI
-
要验证 CVV
以下
verify-card-validation-data
示例验证了 a CVV2 的 CVV /值。PANaws 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
示例验证了 a fo PIN r a。PANaws 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
命令参考”。
-