Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Verifikasi MAC
Verifikasi MAC API digunakan untuk memverifikasi MAC (Kode Otentikasi Pesan) untuk otentikasi data terkait kartu. Itu harus menggunakan kunci enkripsi yang sama yang digunakan selama menghasilkan MAC untuk menghasilkan kembali nilai MAC untuk otentikasi. Kunci enkripsi MAC dapat dibuat dengan Kriptografi AWS Pembayaran dengan menelepon CreateKeyatau diimpor dengan menelepon ImportKey. API mendukung kunci enkripsi DUKPT MAC, HMAC dan EMV MAC untuk operasi ini.
Jika nilai diverifikasi, maka parameter respons MacDataVerificationSuccessful akan kembaliHttp/200, jika tidak Http/400 dengan pesan yang menunjukkan ituMac verification failed.
Verifikasi HMAC
Dalam contoh ini, kami akan memverifikasi HMAC (Hash Based Message Authentication Code) untuk otentikasi data kartu menggunakan algoritma HMAC_SHA256 HMAC dan kunci enkripsi HMAC. Kunci harus KeyUsage disetel ke TR31_M7_HMAC_KEY dan KeyModesOfUse Verify disetel ke true.
contoh
$aws payment-cryptography-data verify-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \ --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ --mac ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C \ --verification-attributes Algorithm=HMAC_SHA256
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6", "KeyCheckValue": "2976E7" }
Verifikasi MAC menggunakan DUKPT CMAC
Dalam contoh ini, kami akan memverifikasi MAC menggunakan DUKPT (Derived Unique Key Per Transaction) dengan CMAC untuk otentikasi data kartu. Kunci harus KeyUsage disetel ke TR31_B0_BASE_DERIVATION_KEY dan KeyModesOfUse DeriveKey disetel ke true. Kunci DUKPT memperoleh kunci unik untuk setiap transaksi menggunakan Kunci Derivasi Dasar (BDK) dan Nomor Seri Kunci (KSN). Nilai DukptKeyVariant harus cocok antara pengirim dan penerima. REQUEST biasanya akan digunakan dari terminal ke backend, VERIFIKASI dari backend ke terminal dan BIDIRECTIONAL ketika satu kunci digunakan di kedua arah.
contoh
$aws payment-cryptography-data verify-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ --mac D8E804EE74BF1D909A2C01C0BDE8EF34 \ --verification-attributes DukptCmac='{"KeySerialNumber":"932A6E954ABB32DD00000001","DukptKeyVariant":"BIDIRECTIONAL"}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "C1EB8F" }