问题标签 [emv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1477 浏览

javacard - MUTUAL AUTHENTICATION failed in EMV card

I am trying to send a STORE DATA command to my EMV card to store DGI values. I've got a document that describes the APDU command to install and personalize EMV application on JCOP 2.4.1 Revision 3.

In the document, the sequence of commands is:

Line written in this Document is:

the key value of issuer security domain(encryption, MAC,and key encryption key): 404142434445464748494a4b4c4d4e4f. and the value of sequence counter is 0.

I just downloaded GPSHELL 1.4.4 and try to run following script:-

however my output is:

Why does the authentication fail? To send the STORE command I need to passed authentication. How can I pass authentication?

0 投票
1 回答
2505 浏览

contactless-smartcard - 如何替换 EMV 非接触式轨道数据中的 CVC3、ATC 和不可预测的数字?

我正在尝试在给定 CVC3 和一堆位置参数的情况下组装正确的轨道数据。但是 EMV C-2 Kernel 的书和你想象的一样迟钝(包括一个例子会害死人吗!?!)。任何人都可以帮助处理这个例子:

成功生成校验和后:

假设任意数据字段以全 0 开始,它是如何结束的?规范是这样说的:

将二进制编码的 CVC3 (Track2) 转换为以 10 为基数表示的相应数字的 BCD 编码。将 BCD 编码的 CVC3 (Track2) 的 q 个最低有效位复制到 Track 2 数据中“任意数据”的合格位置。符合条件的位置由 PCVC3(Track2) 中的 q 个非零位指示。

我读为:CVC3 = 0x609B = 24731(所以复制731?BCD与此有什么关系?或者他们只是说“将731作为bcd编码复制到字节数组”?)

0 投票
1 回答
1972 浏览

android - NFC 控制器和 POS 阅读器之间的初始握手

当读者使用 HCE 通过 NFC 模拟支付应用程序发起交易时,我几乎没有问题

  1. 读卡器是否像常规非接触式卡基础设施一样发送 PPSE 命令?

  2. 主机控制器是否使用路由表中列出的已注册 AID 中的 AID 列表来响应 PPSE 命令?

那么读卡器选择AID后,主机控制器指向正确的HCE服务?

请纠正我对上述概念的理解。

0 投票
5 回答
3127 浏览

credit-card - 为什么在 EMV 卡中重复数据

我正在使用 EMV 卡,我的新任务是将磁条数据与芯片数据进行比较。当我读出。Mag 和芯片中应该通用的数据是:- PAN、持卡人姓名、到期日期。在这里,我感到困惑:-

PAN这样的单个数据出现在多个位置:-
它出现在 Mag Track1 中
它出现在 Mag Track2 中 它
出现在 5A EMV 标签
中 它出现在 57 [track 2 等效数据] EMV 标签中。

或到期日期
它存在于 Mag Track1 和 Track2
它存在于 57 [track 2 等效数据] EMV 标签中。
它出现在 5f24 emv 标签中。

为什么相同的数据存在于多个位置?那么数据应该在 Mag 和芯片中完全常见以及它在 EMV 芯片中的位置呢?

有人告诉我将芯片中的 Mag 数据保持在什么 TAG 值下的重要性,以便我只能比较这些值..??

对不起,我的英语不好。如果您有任何疑问,请询问。

0 投票
2 回答
1932 浏览

smartcard - EMV 智能卡 TLV 格式错误?

我正在开发用于读取 EMV 卡的智能卡读卡器。我正在使用万事达卡,并且试图读取特定记录。结果显示读数很好,但是当我解析结果时,它们似乎不遵循 TLV 标准,结果以标签/模板长度值格式出现。返回的结果示例为:

70 - 读取记录响应标签
81 - 应指示长度
e0 - 应为标签/模板...?
8f - 应该表示上一个的长度。标签...?
01 05 9f 32 ... 90 00

我的问题是前几个字节。第一个字节表示它是一个 READ RECORD 模板,但第二个字节应该表示长度,第三个应该是值,它是下一个标签的开始。但是没有标记为 E0 的 EMV 标签,所以是我错误地翻译了结果还是缺少了什么。我使用相同的命令阅读了以前的记录,结果很好:
70 - 标记
27
61 - 另一个标记/模板指示器等
25 4f 07 ... 90 00
我做错了什么?或者如何翻译这些结果?

0 投票
1 回答
1806 浏览

smartcard - javaemvreader android 示例代码

我正在尝试构建一个 android 应用程序来从 Micro USB 智能卡读卡器中读取信用卡/智能卡数据。当我从 google play 使用这个应用程序时,它可以使用我的读卡器成功读取所有卡数据:https: //play.google.com/store/apps/details?id=com.scdroid.emvdemo&hl=en

根据开发者的网站,他们使用这个库来构建这个应用程序: https ://code.google.com/p/javaemvreader/

不幸的是,我尝试使用其中的代码,但我得到了终端异常:

sasc.terminal.TerminalException:没有可用的提供程序

我的代码如下所示:

0 投票
2 回答
280 浏览

c - 使用 RSA 的 Visa 测试卡解密错误

我正在使用 C 语言中的 Visa 测试套件开发智能卡读卡器应用程序。在读取卡号 2 时,我在读取卡后获得以下发行人公钥证书:

...(忽略 C 数组中格式化的细节)模数为 176 并且来自 Visa,我有以下 CA 公钥模数。这些卡是测试卡,因此我可以公开分享输出:

也忽略了格式(为了简单起见,我在这里写成这样),其中模数也是 176。CA 公钥索引是 5,指数是 3,这就是我检索上述密钥的方式。现在,我编写了以下函数来实现 RSA 解密算法,以便能够验证证书的签名:

但最终“解密”的数组不符合 VISA 规定的验证测试的要求。任何人都知道我在执行上述算法时可能出错的地方,或者如果我出错了,有人能指出我正确的方向吗?解密的输出如图所示:

注意:Visa 规范将恢复函数声明为:X = Recover(P K )[S] = S e mod n,给定数字签名 S 和公钥 P K

0 投票
1 回答
1433 浏览

icc - 从 EMV 卡中读取数据以执行交易

我有一个我正在开发的 mPos android 应用程序,它基本上需要从 EMV 芯片卡中读取数据来执行交易。我理解向芯片发送应用协议数据单元 (APDU) 命令并接收 APDU 响应作为回报的概念。但是,当我需要执行金融交易时,我不知道要发送到芯片的确切 APDU 命令,因此我感到迷茫和困惑。我已经阅读了一些官方的 EMV 文档,也花了几天的时间在谷歌上搜索,但我找不到我要找的东西。任何指示和帮助将不胜感激。

0 投票
1 回答
393 浏览

nfc - NFC支付时如何区分非接触卡和智能手机?

我正在从事一个大学项目,当交易成功完成并通过 NFC 获得批准时,我们需要定制一个 POS 终端。

使用智能手机处理交易时,POS 设备将被定制以执行额外任务。因此,终端在进行支付时应区分非接触卡和智能手机。

知道如何识别它是智能手机还是非接触式卡吗?

先感谢您。

0 投票
1 回答
1520 浏览

apdu - 无法使用有效 AID 在 EMV 卡中选择应用程序

我同时拥有 Visa Electron 和借记万事达卡,但是每当我尝试使用它们各自的 AID A0000000032010 和 A0000000041010 选择应用程序时,我都会收到 6A82 响应,表示找不到文件。

这是我的两个选择的代码片段

可能有什么我做错了吗?