本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
JCB 特定函數
ARQC - CVN04
JCB CVN04 使用金鑰衍生的 CSK 方法。如需建構交易資料欄位的詳細資訊,請參閱方案文件。
ARQC - CVN01
CVN01 是一種較舊的 EMV 交易 JCB 方法,使用每個卡片金鑰衍生而非工作階段 (每個交易) 衍生,也使用不同的承載。Visa 也會使用此訊息,因此元素名稱具有該名稱,即使它也用於 JCB。如需承載內容的相關資訊,請聯絡結構描述文件。
建立金鑰
$
aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVN10"},{"Key":"CARD_BIN","Value":"12345678"}]'
回應會回傳請求參數,包括後續呼叫的 ARN 以及金鑰檢查值 (KCV)。
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk", "KeyAttributes": { "KeyUsage": "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": true, "NoRestrictions": false } }, "KeyCheckValue": "08D7B4", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2024-03-07T06:41:46.648000-07:00", "UsageStartTimestamp": "2024-03-07T06:41:46.626000-07:00" } }
請注意代表金鑰KeyArn
的 ,例如 arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk。在下一個步驟中,您需要用到。
驗證 ARQC
在此範例中,我們將驗證使用 JCB CVN01 產生的 ARQC。這使用與 Visa 方法相同的選項,因此參數的名稱。
如果 AWS 付款密碼編譯能夠驗證 ARQC,則會傳回 http/200。如果未驗證 arqc,則會傳回 http/400 回應。
$
aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram D791093C8A921769 \ --key-identifier arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk \ --major-key-derivation-mode EMV_OPTION_A \ --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B03011203000000 \ --session-key-derivation-attributes='{"Visa":{"PanSequenceNumber":"01" \ ,"PrimaryAccountNumber":"9137631040001422"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }