Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Payment Cryptography 를 사용한 데이터 플레인 예제 AWS CLI
다음 코드 예제에서는 AWS Payment Cryptography Data 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 Payment Cryptography 사용자 안내서의 데이터 복호화를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DecryptData
를 참조하세요.
-
다음 코드 예시에서는 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 Payment Cryptography 사용자 안내서의 데이터 암호화를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 EncryptData
를 참조하세요.
-
다음 코드 예시에서는 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 Payment Cryptography 사용자 안내서의 카드 데이터 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GenerateCardValidationData
를 참조하세요.
-
다음 코드 예시에서는 generate-mac
의 사용 방법을 보여줍니다.
- AWS CLI
-
MAC 생성
다음
generate-card-validation-data
예시에서는 HMAC_SHA256 알고리즘과 HMAC 암호화 키를 사용하여 카드 데이터 인증을 위한 해시 기반 메시지 인증 코드(HMAC)를 생성합니다. 키의KeyModesOfUse
을TR31_M7_HMAC_KEY
로 설정하고KeyUsage
를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 Payment Cryptography 사용자 안내서의 MAC 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GenerateMac
을 참조하세요.
-
다음 코드 예시에서는 generate-pin-data
의 사용 방법을 보여줍니다.
- AWS CLI
-
PIN 생성
다음
generate-card-validation-data
예시에서는 Visa PIN 체계를 사용하여 새 무작위 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 Payment Cryptography 사용자 안내서의 PIN 데이터 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GeneratePinData
를 참조하세요.
-
다음 코드 예시에서는 re-encrypt-data
의 사용 방법을 보여줍니다.
- AWS CLI
-
다른 키로 데이터 다시 암호화
다음
re-encrypt-data
예시에서는 AES 대칭 키를 사용하여 암호화된 사이퍼텍스트를 복호화하고 Derived Unique Key Per Transaction(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 Payment Cryptography 사용자 안내서의 데이터 암호화 및 복호화를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ReEncryptData
를 참조하세요.
-
다음 코드 예시에서는 translate-pin-data
의 사용 방법을 보여줍니다.
- AWS CLI
-
PIN 데이터 변환
다음
translate-pin-data
예시에서는 ISO 0 PIN 블록을 사용하는 PEK TDES 암호화의 PIN을 DUKPT 알고리즘을 사용하는 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 Payment Cryptography 사용자 안내서의 PIN 데이터 변환을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 TranslatePinData
를 참조하세요.
-
다음 코드 예시에서는 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 Payment Cryptography 사용자 안내서의 승인 요청 암호문(ARQC) 확인을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 VerifyAuthRequestCryptogram
을 참조하세요.
-
다음 코드 예시에서는 verify-card-validation-data
의 사용 방법을 보여줍니다.
- AWS CLI
-
CVV 확인
다음
verify-card-validation-data
예시에서는 PAN에 대한 CVV/CVV2를 확인합니다.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 Payment Cryptography 사용자 안내서의 카드 데이터 확인을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 VerifyCardValidationData
를 참조하세요.
-
다음 코드 예시에서는 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 Payment Cryptography 사용자 안내서의 MAC 확인을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 VerifyMac
을 참조하세요.
-
다음 코드 예시에서는 verify-pin-data
의 사용 방법을 보여줍니다.
- AWS CLI
-
PIN 확인
다음
verify-pin-data
예시에서는 PAN의 PIN을 확인합니다.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 Payment Cryptography 사용자 안내서의 PIN 데이터 확인을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 VerifyPinData
를 참조하세요.
-