MTIP 非接触式测试 MP11 在 CVM 结果上失败

MTIP Contactless Test MP11 Fails on CVM Results

我在使用 EMV MTIP 非接触式测试时遇到问题,我不明白为什么。正在接受交易,但我的测试工具在持卡人验证和使用(或未使用)CVM 方面显示一些失败。

问题是:

  1. TVR Byte 3, bit 8, expecting 0, Received 1 (持卡人验证不成功)

  2. CVM 结果等于 3F0001,预期为 5F0302/0

我的理解是这两个都说没有发生 CVM,尽管它应该发生。我不明白为什么,因为 3000 的数量超过了 CVM 要求的限制。我将非接触式终端功能设置为 60 B8 C8,表示支持:

据我所知,5F0302 表示成功使用不需要 CVM,而 3F0001 表示 CVM 验证失败。

任何人都可以解释为什么会发生这种情况,如果我做错了什么?

交易的完整日志太大,无法包含在 post 中,但可以在此处找到:Pastebin Transaction Log

编辑 1: 我相当确定我正在加载正确的 CAPK。根据终端供应商的示例,它们是从 XML 文件加载的,具有以下值:

<tag id="E2">
    <tag id="DFC316">A000000004</tag>
    <tag id="9F22">EF</tag>
    <tag id="DFC317">A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBCB4686CD274785530FF6F6E9EE43AA43FDB02CE00DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D35C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF915006D9A987B07DDAEB3B</tag>
    <tag id="DFC318">03</tag>
    <tag id="DFC31A">21766EBB0EE122AFB65D7845B73DB46BAB65427A</tag>
</tag>
<tag id="E2">
    <tag id="DFC316">A000000004</tag>
    <tag id="9F22">F1</tag>
    <tag id="DFC317">A0DCF4BDE19C3546B4B6F0414D174DDE294AABBB828C5A834D73AAE27C99B0B053A90278007239B6459FF0BBCD7B4B9C6C50AC02CE91368DA1BD21AAEADBC65347337D89B68F5C99A09D05BE02DD1F8C5BA20E2F13FB2A27C41D3F85CAD5CF6668E75851EC66EDBF98851FD4E42C44C1D59F5984703B27D5B9F21B8FA0D93279FBBF69E090642909C9EA27F898959541AA6757F5F624104F6E1D3A9532F2A6E51515AEAD1B43B3D7835088A2FAFA7BE7</tag>
    <tag id="DFC318">03</tag>
    <tag id="DFC31A">D8E68DA167AB5A85D8C3D55ECB9B0517A1A5B4BB</tag>
</tag>
<tag id="E2">
    <tag id="DFC316">A000000004</tag>
    <tag id="9F22">FA</tag>
    <tag id="DFC317">A90FCD55AA2D5D9963E35ED0F440177699832F49C6BAB15CDAE5794BE93F934D4462D5D12762E48C38BA83D8445DEAA74195A301A102B2F114EADA0D180EE5E7A5C73E0C4E11F67A43DDAB5D55683B1474CC0627F44B8D3088A492FFAADAD4F42422D0E7013536C3C49AD3D0FAE96459B0F6B1B6056538A3D6D44640F94467B108867DEC40FAAECD740C00E2B7A8852D</tag>
    <tag id="DFC318">03</tag>
    <tag id="DFC31A">5BED4068D96EA16D2D77E03D6036FC7A160EA99C</tag>
</tag>

编辑 2: 使用的终端风险管理数据为 0CB4000000000000,表明支持:

编辑 3: 9F35 中设置的终端类型是 22 = 有人值守,具有在线能力的离线

编辑 4: 拒绝的 TAC 全为零。 Default和Online的TAC为FC50808800,表示:

  • TVR 字节 1 位 8 = 1 - 未执行离线数据验证
  • TVR 字节 3 位 8 = 1 - 持卡人验证不成功

这表明您的终端没有为离线数据验证加载所需的证书颁发机构 Public 密钥 (CAPK)。加载正确的测试 Public 索引为 0xEF、0xF1、0xFA 的键。这些键用于接触式和非接触式 M-TIP 卡。

您没有提到您的万事达卡非接触式标签 0x9F1D 值 - 终端风险管理数据。

您没有提到您的终端 MasterCard/Maestro 在线、拒绝和默认 TAC。

您没有提到您的终端类型。 Attended/Unattended。 Maestro 应该有关于 NoCVM 的无人值守环境的具体实现。

您注意到的终端功能标签 0x9F33 通常被您的终端品牌替换为非接触式内核初始化 settings/tags。 我看到您的情况启用了 SDA。根据 PayPass M/Chip 要求 - "Newly deployed PayPass terminals do not support SDA, and are not configured to support SDA." SDA 是弱认证。

在终端非接触式内核中,您应该为低于 CVM 要求限制 (NoCVM) 和高于 CVM 要求限制的交易金额配置不同的 CVM 功能。由于市场要求可能不支持在线 PIN,无人值守终端不应支持签名,因此,在这种情况下,对于超过 CVM 要求限制的金额,只能使用 NoCVM。加上 Maestro 处理的具体实现。

我建议查看 MasterCard PayPass—M/Chip Requirements 并打开另一个关于 MasterCard/Maestro 非接触式卡处理的有趣项目。