问题标签 [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 回答
3598 浏览

nfc - 读取EMV卡时不包含持卡人姓名

我已经成功地从非接触式借记卡/信用卡中检索到卡号和有效期。但是,持卡人姓名不会在 READ RECORD 命令响应中返回。我错过了什么吗?

0 投票
1 回答
5973 浏览

smartcard - EMV - 无法从 CDOL1 生成 AC 命令

我已成功检索到 CDOL1,即

如何基于此 CDOL1 创建 Generate AC 命令?

0 投票
1 回答
927 浏览

smartcard - 生成 AC 命令在 AMEX 卡上不起作用

我有 CDOL1,我已经成功生成 AC 命令,它在 Visa 卡上工作,我得到成功代码,但它在 AMEX 卡上不起作用,尽管 AMEX 有相同的 CDOL1 命令。

CDOL1

生成交流命令

0 投票
1 回答
3529 浏览

smartcard - 如何解释来自 GET PROCESSING OPTIONS 的响应?

我正在通过 ACR 读卡器与 Visa Electron 借记卡通信,并从GET PROCESSING OPTIONS命令中得到以下响应:

当其中没有 AFL(应用程序文件定位器)或任何 AIP(应用程序交换配置文件)时,我应该如何解释此响应?这是完整的通信日志:

非常感谢!

0 投票
2 回答
517 浏览

emv - 具体来说,EMV 设备如何与发卡机构通信?

在进行 EMV 在线交易 (ARQC) 时,EMV 设备需要与发行者(或网关)通信以获得批准/拒绝。我正在写 POS 软件,需要支持 EMV,所以我需要支持这种交互。我似乎无法回答的是,它是 EMV 设备通过 Internet 直接与发行者通信的 EMV 规范的一部分吗?还是我需要在设备的 API 中寻找某种发送功能?

我知道这个问题可能针对硬件制造商的设计,但我已经阅读了一些针对不同 EMV 设备的 API,但似乎没有一个详细说明了这种通信。他们中的大多数都有一个函数来初始化 EMV 功能(使用交易金额),然后在交易完成时进行回调/事件。这让我相信,我需要提供的只是与设备的良好互联网连接,奇迹就会发生。

作为后续行动,我看到一些设备具有 USB 通信(而不是以太网)。这些设备(显然)无法直接与外部网络对话。假设这些设备将离线执行每个 EMV 交易是否安全?还是我错过了什么?

0 投票
2 回答
5814 浏览

smartcard - 通过 AID 命令选择不起作用

我想重新开发新的桌面应用程序以从 EMV 智能卡读取信息,并且我有来自以前(工作)应用程序的日志

假设 EMV 智能卡中有一个 AID = 44 44 44 44 44 44 44 44 (DDDDDDDD) 的应用程序。

我正在发送 APDU 命令:00 A4 04 00 08 44 44 44 44 44 44 44 44 00 并收到超时异常(超时 = 60 秒)。

我尝试发送 APDU 命令:00 A4 04 00 08 44 44 44 44 44 44 44 44 并得到响应代码 = 61 37。

我尝试选择文件 1PAY.SYS.DDF01,立即得到 response = 6a82(它是正确的)。

0 投票
2 回答
2943 浏览

smartcard - MasterCard EMV 标签 9F7E 的数据源 - 应用程序生命周期数据

我正在为 M/Chip Select 4 版本 1.1a 上的 MasterCard EMV 卡编写配置文件,我需要一些帮助来理解9F7E(应用程序生命周期数据)标签值的数据元素。不幸的是,万事达卡手册并没有很好地解释这个标签的用途,也没有很好地解释相应的数据元素。

我从手册中了解到,第一个字节是版本号 - 很简单。但是,其他 47 个字节代表我不熟悉的数据元素,例如“Type Approval ID”、“Application Issuer ID”和“Application Code ID”。

这些数据值是在交易处理过程中生成的,还是卡上的静态值?

0 投票
3 回答
963 浏览

android - EMV - 生成 AC - 验证代码

我正在使用 ISO 14443 卡在 Android 上开发移动 POS 应用程序,我面临一个相当重要的问题。

目前,我可以通过发送所有正确的 APDU 命令来读取卡中的所有公共数据IsoDep.transceive

我目前必须处理CDOL1,特别是Data Authenticate Code以下是我从测试卡中收集的三个 CDOL:

EMV 书 2 说:

为了获得表 7 中指定的恢复数据,使用发行者公钥结合相应的算法,对签名静态应用数据应用附件 A2.1 中指定的恢复函数。如果 Recovered Data Trailer 不等于“BC”,则 SDA 失败。

我知道解密恢复数据之前的第一步是获取颁发者公钥(带有 RID、AID 的前五个字节和证书颁发机构公钥索引),然后将其与恢复功能一起使用来解密签名的应用程序数据.

所以我的问题是:

  1. 如何获得带有 RID 和公钥索引的颁发者公钥?

  2. 任何人都可以帮助我理解这个恢复功能以便开发一个功能,或者 Java 中是否有任何现有的功能可以做到这一点?

PS:在现有功能的情况下,如果可能的话,我还想解释一下^^

0 投票
2 回答
8515 浏览

android - 如何实现NFC支付?

我想将 NFC 支付添加到我正在开发的 Android 应用程序中,以允许用户直接向 POS 付款。我有兴趣支持尽可能多的 POS。

我想知道这是否真的可能,或者它取决于专有协议/硬件。

我找到了有关阅读非接触式卡信息的信息(和代码示例),但我找不到任何有关付款本身的库或代码。

我知道 EMV 规范,但它看起来很长而且技术性很强,我想在深入研究之前知道它是否真的可行。

我们不能使用 Google 电子钱包,因为我不在美国。

0 投票
1 回答
2446 浏览

smartcard - 无法生成正确的应用程序密码

我成功获得了生成命令响应

命令是

成功响应

一切都很好,但是每当我在测试环境中执行事务时,我都会得到

应用程序密码不正确。

任何帮助,将不胜感激。