我有n88 micro USB OTG EMV读卡器。我用下面的应用程序来读取卡片数据
https://play.google.com/store/apps/details?id=sasc.android.smartcard
当我在日志中看到时,明文脱机PIN验证未在CVM列表中列为规则。
我的问题是,如果我在“读取记录”阶段后尝试验证PIN,卡会接受验证命令吗?直到现在我收到验证命令的命令无效响应。如果CVM列表中没有规则,那么明文PIN验证是否可行?
答案 0 :(得分:1)
实际上你不会执行CVM不支持的验证方法。但是如果你想强制执行明文验证命令(明文脱机PIN验证),结果将取决于特定的支付卡。例如,对于Visa卡,您始终可以执行纯文本,但MasterCard可能不允许在自己的应用程序控制字节中使用纯文本。
在您的情况下,卡似乎根本不支持离线销。
答案 1 :(得分:0)
您可以立即发送验证PIN命令,因为在读取记录命令之后,没有其他命令需要发送到卡。终端开始检查“处理限制”,然后“离线数据验证”。
根据终端和卡参数协商和选择CVM。如果CVM列表不包括PIN当然终端不会要求PIN(或其他方法这样的签名)。
我没有看到卡的内核代码,但是如果你要求卡执行当然卡的PIN会在执行之前检查可能的CVM方法。所以我们可以说是,CVM List必须包含PIN。