【问题标题】:EMV CAPK SelectionEMV CAPK 选择
【发布时间】:2017-01-27 16:58:44
【问题描述】:
我正在使用移动支付终端和测试 EMV 交易的测试工具。终端设置的一部分涉及将许多 CAP 密钥加载到终端中以用于不同类型的卡。
我很好奇,终端如何选择合适的 CAP 密钥?我可以从 APDU 日志中获得任何信息来指示我将使用哪个 CAP 密钥?
我遇到的具体问题是我有一个演示项目正在成功处理 AMEX 卡,但我无法在我自己的项目中处理它们。我收到诸如“未找到用于验证的密钥 (65)”之类的错误。我认为匹配应用程序标识符就足够了,但我在演示项目中没有看到任何 AMEX 标识符,即使它正在工作 (A0 00 00 00 25)。
【问题讨论】:
标签:
payment
smartcard
emv
【解决方案1】:
问:终端如何选择合适的 CAP 密钥?
A:终端CAP Key记录,通常在EMV/NFC内核初始化时添加。对于关键确定,记录通常具有下一个值:
- RID - 注册的应用程序 ID。 'A000000025' 在你的情况下。
- 关键索引。 '65' (0x65) 在你的情况下。
- 关键指数。 '03' 表示此键。
- Key Modulus - 正是关键值。此测试 Amex 密钥的“E53E...400D”。
根据您的 EMV 内核要求,还可能需要:
问:我是否可以从 APDU 日志中获得任何信息来指示我将使用哪个 CAP 密钥?
A:是的,您可以从卡 APDU 跟踪中确定所需的密钥索引、密钥指数和 RID。搜索下一个标签:
- 标签 0x9F32:颁发者公钥指数。
- 标签 0x8F:证书颁发机构公钥索引。
- RID 是应用程序 ID (AID) 的前 5 个字节。标记 0x4F:应用程序标识符 (AID)。
【解决方案2】:
我相信您知道如何使用 AFL(应用程序文件定位器)信息进行 READ。阅读所有文件,您会遇到一个元素证书颁发机构公钥索引。这与应用程序 RID 相关联。只需浏览此link,您就会明白。它拥有大多数 CA PK。
在您的情况下,您需要为索引为 65 的 A000000025 添加选定的 PK