解析 CVM 列表:在 SFI 中获取 CVM 列表后何时显示密码键盘,需要任何命令

Parse CVM list: when to show pin pad after getting CVM list in SFI, Any command required

我 运行 使用 JNI 遵循 android 中的命令。

select command: 00A4040006454D5600000100(based on relavant AId)

GPO: 80A80000(modifying based on pdol)

read record : 00B2010C(Based on number of AFLs, SFI available)

在此之后,如果卡支持密码,我想显示密码键盘。 我正在关注 CVM 列表

4203 Encrypted PIN online, If terminal supports CVM, next 
1E03 Signature, If terminal supports CVM, FAIL 
1F03 No CVM

如何理解android/java中的这些标签。是否有任何 APDU 命令用于此?如何process/performcvm规则?

我们将不胜感激。

据我所知,您有某种形式的本机 EMV 内核,您可以从 Android 应用程序调用这些内核。作为第一个建议,您应该查看此类功能是否尚未公开。 CVM 列表只是您使用读取记录命令读取的对象之一(标识符为 0x8E)。可以在 www.emvco.com 上找到的 EMV 第 3 册(请参阅第 10.5 章和附件 C3)中找到什么意思的定义 由于 EMV 中的持卡人验证是按顺序执行的(通过列表检查适用于您的交易的条件),很难说是否会使用 PIN(不管卡是否支持它 - 坦率地说,它是由发卡机构的支付方案支持大多数卡产品的 PIN 方法)。某些条件可能取决于先前方法的执行状态(当在 CVM 规则字节 1 上设置 b7 时)。 关于命令,您可能希望离线 PIN 需要发送获取数据命令,请求 0x9F17,这是离线 PIN 尝试计数器。当然,离线 PIN 需要发送 Verify 命令以提供 PIN 以供 ICC 验证。