【问题标题】:Reading and writing to EMV card读取和写入 EMV 卡
【发布时间】:2016-01-03 00:00:42
【问题描述】:

这是新事物,我从未做过任何与在线交易或借记卡/信用卡相关的编码。我被告知要研究EMV(EuroPay Master Visa)卡以在Android App中实现它。

到目前为止,我已经收集了有关

的信息
  • APDU
  • 文件结构
  • 发送“APDU 命令”以从卡中获取有用信息。
  • APDU 字段(CLA、INS、P1、P2、Lc、数据、Le)
  • “APDU 响应”从卡发送回读卡器。

所有这些过程都发生在卡和读卡器之间。 就我而言,读卡器连接到安卓设备。我可能需要在 android 应用程序中向用户显示卡详细信息(例如:显示卡号的最后 4 位数字)。 我的问题是

  1. 如果我想对卡进行身份验证,APDU 命令字段中可能的值是什么?
  2. 如何使用 Java 在读卡器和设备之间进行通信。

PS:我不需要任何代码。我只需要简单的解释,理解了概念我会继续研发。

【问题讨论】:

  • 为什么我的问题被否决了? ://

标签: java android apdu emv


【解决方案1】:

您要求的是 EMV 课程,这对于一个 SO 问题来说已经很多了。

正如@kushal 所述,您必须通过EMV Specifications,它们包含许多命令示例,并将描述完成事务所需的命令序列。

但是通过这样做,您想要实现的是编写一个 EMV 内核,这既昂贵又耗时,正如SO question 中所述。算上这几年的发展,不考虑银行集成部分......如果你想要实现的只是处理交易,你想做的是购买一个EMV内核(例如:来自level2kernel, verifone、Ingenico 等)。

您可以查看一个 Interac Flash 交易(非接触式 EMV)here 的示例,它可以让您大致了解协议的复杂性。

【讨论】:

    【解决方案2】:

    EMV Card Specification首先你已经了解了EMV 4.2

    然后您必须借助 UsbManager 类与阅读器与 Android 设备进行通信。然后将特定的 APDU 发送到卡,然后卡提供以下信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-17
      • 2017-01-02
      • 2014-05-31
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      • 2021-06-13
      相关资源
      最近更新 更多