EMV CAPK 选择

ray*_*owe 0 payment smartcard emv

我正在使用移动支付终端和用于测试 EMV 交易的测试工具。终端设置的一部分涉及将多个 CAP 密钥加载到终端中以用于不同类型的卡。

我很好奇,终端如何选择合适的 CAP 密钥?我是否可以从 APDU 日志中获取任何信息来指示我将使用哪个 CAP 密钥?

我遇到的具体问题是我有一个成功处理 AMEX 卡的演示项目,但我无法在我自己的项目中处理它们。我收到诸如“未找到进行验证的密钥 (65)”之类的错误。我认为匹配应用程序标识符就足够了,但我在演示项目中没有看到任何 AMEX 标识符,即使它正在工作 (A0 00 00 00 25)。

iso*_*ort 5

问:终端如何选择合适的 CAP 密钥?

A:终端CAP Key记录通常在EMV/NFC内核初始化时添加。对于键确定,记录通常具有下一个值:

  • RID - 注册的应用程序 ID。'A000000025' 在你的情况下。
  • 关键索引。'65' (0x65) 在你的情况下。
  • 关键指数。'03' 此键。
  • 键模数 - 正是键值。此测试美国运通密钥的“E53E...400D”。

根据您的 EMV 内核要求,还可能需要:

  • 密钥激活和到期日期。
  • 密钥校验和算法
  • 密钥校验和

问:我是否可以从 APDU 日志中获取任何信息来指示我将使用哪个 CAP 密钥?

:是的,您可以从卡 APDU 跟踪中确定所需的密钥索引、密钥指数和 RID。搜索下一个标签:

  • 标签 0x9F32:发行人公钥指数。
  • 标签 0x8F:证书颁发机构公钥索引。
  • RID 是应用程序 ID (AID) 的前 5 个字节。标记 0x4F:应用程序标识符 (AID)。