我试图从VISA卡读取信用卡数据,但无法取得成功.在互联网资源中,我发现对于MASTER卡,我们可以使用1PAY.SYS.DDF01文件选择PSE目录,然后阅读记录.但对于VISA而言,它不是强制性的,当我使用SELECT命令获取PSE目录时,我得到响应为'6A82'.这意味着文件系统不支持它.我在EMV 4.2第1册(EMV规范)中查找了错误,它说我们必须使用"AID列表".它说"终端使用列表中的下一个AID发出另一个SELECT命令".我无法理解这一点并继续前进.
有关如何获取VISA卡的PSE或AID获取信用卡详细信息的任何帮助?
谢谢,谢卡尔
我是EMV的新手,目前我有一个紧急EMV应用程序开发项目,任何人都可以帮我回答以下问题:
什么是EMV L2应用程序内核?是API还是只是可执行的EMV应用程序?
在EMV支付交易期间,需要从Chip&Pin卡中捕获哪种数据(消息)信息,以便可以提交给银行卡发卡机构进行授权.支付交易数据应该适用的ISO规范.
EMV终端和收单机构之间有什么样的连接?IP或串口?
用于EMV应用程序开发的任何测试工具?如收单主机模拟.
5. EMV应用程序开发需要多长时间?
我已经给出了模数,公共指数和私有指数,我需要在Android上安全地存储这些值.我怎样才能做到这一点?
大多数示例都是在不获取n,d,e参数的情况下创建公钥和私钥.我已经给出了这些n,e,d值并希望安全地存储它们,然后使用这些值来创建我的ICC公钥证书,并签署我的动态数据.
我怎样才能做到这一点?
我需要通过智能卡读卡器读取Maestro/Mastercard的帐号.我正在使用Java 1.6及其javax.smartcardio包.我需要发送APDU命令,它会询问存储在卡芯片上的EMV应用程序的PAN号.问题是,我找不到常规的字节数组来构造APDU命令,它会在任何地方返回所需的数据......
我正试图从非接触式Visa Paywave卡上读取数据.
对于Paywave,我必须使用PPSE(2PAY.SYS.DDF01)而不是PSE(1PAY.SYS.DDF01)提交SELECT.
EMV第1册,第11.3.4节,表43仅描述了如何使用PSE解释成功SELECT命令的响应.有没有人知道或者可以引用我一个来源,它显示如何使用PPSE处理从成功的SELECT命令返回的数据?
这是我的请求APDU:
00A404000e325041592e5359532e444446303100
Run Code Online (Sandbox Code Playgroud)
这是回复:
6F2F840E325041592E5359532E4444463031A51DBF0C1A61184F07A0000000031010500A564953412044454249548701019000
Run Code Online (Sandbox Code Playgroud)
我理解来自响应的标签84,标签85,标签BF0C.根据读取PSE的示例,我应该能够在成功响应之后发送GET PROCESSION OPTIONS(获取AIP和AFL)PDOL = null,如下所示:80A80000830000.
但请求80A80000830000返回错误代码6985- 不允许命令; 使用条件不满意.
我还尝试通过遍历每个SFI(0-30)和每个SFI的每个记录(0-16)成功选择PPSE来读取所有文件.是的,我也进行了3位移位和SFI的按位或运算0x4.但我没有数据.
我被卡住了,任何帮助我从我的Paywave卡获取一些信息的帮助将不胜感激!
我想将NFC支付添加到我正在努力的Android应用程序中,以允许用户直接向POS付款.我有兴趣支持尽可能多的POS.
我想知道它是否真的可能,或者它取决于专有协议/硬件.
我找到了有关阅读无接触卡信息的信息(和代码示例),但我找不到任何有关付款本身的库或代码.
我知道EMV规格,但它看起来很长,技术性很强,我想知道它是否真的有可能潜入它之前.
我们无法使用Google电子钱包,因为我不在美国.
我正在尝试检测非接触式智能卡或配备 ApplePay、Google Pay 或 Samsung Pay 的移动设备是否用于非接触式 EMV 交易。
我一直在通过EMV书籍进行研究,似乎有一个标签9F6E提供了此类数据:
问题:
我在EMV卡工作,我的新任务是将Magstripe数据与芯片数据进行比较.当我读出来.Mag和芯片中常见的数据是: - PAN,持卡人姓名,有效期.在这里我有如下困惑: -
像PAN这样的单个数据存在于多个位置: -
它存在于Mag Track1中它存在于Mag Track2
中
它出现在5A EMV标签中
它出现在57 [轨道2等效数据] EMV标签中.
或有效期
它出现在Mag Track1和Track2中
它出现在57 [track 2等效数据] EMV Tag中.
它存在于5f24 emv标签中.
为什么多个位置存在相同的数据?那些数据应该在Mag和芯片中以及它在EMV芯片中的位置上完全相同?
有人告诉我在TAG值下保持Mag数据在Chip中的重要性,这样我才能比较这些值.
对不起,我的英语不好.如果您有任何疑问,请询问.
我已经成功从EMV卡中检索了CVM列表。
0000 0000 0000 0000 4103 4203 1E03 1F02
Run Code Online (Sandbox Code Playgroud)
从EMV规格书3开始,前4个字节和后4个字节为数量,其余为CV规则。使这些成为简历规则4103 4203 1E03 1F02
我假设我需要将CV规则中的前两个字节转换为二进制并与上表匹配?但是,为什么上表的单元格为空?也有人可以用简单的伪代码算法来解释吗?
我使用Thales Payshield 9000 HSM。到目前为止,所有命令均已工作,并且一切都已实现我想要的。
现在的问题是尝试更改ATM的引脚时。检查万事达卡文件时,会生成针脚更改脚本,并且格式看起来可以。

我们的密码更改脚本如下所示:86158424000210PPPPPPPPPPPPPPPPMMMMMMMMMMMMMMMM其中16个P字母是DE125中发送的PIN块,而16 M个字母代表MAC。(我屏蔽了它们,但是下面将使用示例中的数据)
有了这个脚本,从我这边来看一切正常。现在我怀疑问题是MAC生成。
要生成MAC,我们使用以下HSM命令:
key = PVK key (U+32Hex symbols under LMK),delimiter = ';',keySchemeTmk = 'U',keySchemeLmk = 'U'; 然后收到TAK密钥modeFlag = 0,inputFormatFlag = 2,macSize = 1,macAlgorithm = 3,paddingMethod = 0,keyType = '003',key = 'Tak key from HA command',messagelength = '0030',message = '8424000210345755BFDC4F2903A392B3E1229A502C892680'(消息在上面的截图级联等:命令头+ ApplicationtransactionCounter + ARQC …emv ×10
smartcard ×3
android ×2
android-pay ×2
apdu ×2
credit-card ×2
nfc ×2
applepay ×1
cryptography ×1
encryption ×1
google-pay ×1
hsm ×1
java ×1
mastercard ×1
payment ×1
security ×1
visa ×1