[英]reading EMV card using PPSE and not PSE
我正試圖從非接觸式Visa Paywave卡上讀取數據。
對於Paywave,我必須使用PPSE(2PAY.SYS.DDF01)而不是PSE(1PAY.SYS.DDF01)提交SELECT。
EMV第1冊,第11.3.4節,表43僅描述了如何使用PSE解釋成功SELECT命令的響應。 有沒有人知道或者可以引用我一個來源,它顯示如何使用PPSE處理從成功的SELECT命令返回的數據?
這是我的請求APDU:
00A404000e325041592e5359532e444446303100
這是回復:
6F2F840E325041592E5359532E4444463031A51DBF0C1A61184F07A0000000031010500A564953412044454249548701019000
我理解標簽84
,標簽85
,從響應中標記BF0C
。 根據讀取PSE的示例,我應該能夠在成功響應之后發送GET PROCESSION OPTIONS(獲取AIP和AFL)PDOL = null,如下所示: 80A80000830000
。
但請求80A80000830000
返回錯誤代碼6985
- 不允許命令; 使用條件不滿意。
我還嘗試通過遍歷每個SFI(0-30)和每個SFI的每個記錄(0-16)成功選擇PPSE來讀取所有文件。 是的,我也進行了3位移位,並使用0x4
對SFI進行按位或運算。 但我沒有數據。
我被卡住了,任何幫助我從我的Paywave卡獲取一些信息的幫助將不勝感激!
你似乎把流量混淆了一點,你想:
發送1PAY或2PAY,對我測試的所有卡片實際上並不重要。 這將返回卡上可用的AID列表。 或者你可以直接選擇一個AID,如果你知道它在那里,但好的做法是先檢查。
獲取響應1PAY / 2PAY返回的AID列表,在PayWave的情況下,如果您發送2PAY,這可能是A0000000031010但如果您發送1PAY可能會獲得更多。
選擇一個發回的AID(或者您已經知道的AID)。
然后遍歷SFI並記錄發送讀取記錄命令以獲取數據。
您不必在發送“讀取記錄”命令之前發送“獲取處理選項”,即使現在這是正常的事務流程。
我認為您所尋找的信息可從此VISA網站獲取 。 但前提是您是VISA的注冊和/或許可合作伙伴。
編輯:在BF0C
下查看生成的TLV結構:
tag=0xBF0C, length=0x1A
tag=0x61, length=0x18
tag=0x4F, length=0x07, value=0xA0000000031010 // looks like an AID to me
tag=0x50, length=0x0A, value="VISA DEBIT"
tag=0x87, length=0x01, value=0x01
我猜你需要在獲得處理選項之前首先選擇A0000000031010
。
我正在選擇應用程序2PAY.SYS.DDF01。 什么時候我應該選擇AID = 0xA0000000031010。 看起來應用程序2PAY.SYS.DDF01下沒有記錄。
但申請表0xA0000000031010下有1條記錄。 我拿到這個應用程序后,我執行了READ RECORD,第一條記錄給了我PAN和我想要的所有信用卡信息。
謝謝大家的歡呼聲。
如果您對MasterCard感興趣,可以使用triangle.io的API來執行此操作。 它是免費的,為您閱讀MasterCard和Visa非接觸式卡,這是您想要的。
請注意,直接讀取卡上的所有文件,雖然它會為您提供所需的數據,但並不是真正遵循EMV數據流。 選擇應用程序后,您應該執行“獲取處理選項”,然后構建PDOL和剩下的魔法。
免責聲明:我為triangle.io工作
2PAY.SYS.DDF01用於非接觸式(例如NFC)卡,而1PAY.SYS.DDF01用於接觸卡。
成功(SW1 SW2 = 90 00)讀取PSE后,您應該只搜索SFI(標簽88),它是返回的FCI模板中的必填字段。
使用SFI作為起始索引,您必須從起始索引開始讀取記錄,直到獲得6A83(RECORD_NOT_FOUND)。 例如,如果您的SFI為1,您將使用record_number = 1執行readRecord。 那可能會成功。 然后你將record_number增加到2並再次執行readRecord。 增加到3 ....重復它直到你得到6A83作為你的狀態。
讀取的記錄將是ADF(至少為1)。 然后,您必須將讀取的ADF名稱與終端支持以及ASI(應用程序選擇指示符)進行比較。 最后,您將獲得可能的ADF列表(候選列表)
所有上述步驟(1-3)都記錄在EMV規范的第12.3.2章Book1 v4.3中。
你必須做出最后的選擇(第12.4章書1)
閱讀規范書1章12.3 - 12.4了解所有詳細步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.