首页 > 解决方案 > 欧洲行驶记录仪公司智能卡返回 6D00

问题描述

我们正忙于尝试在行驶记录仪公司智能卡和行驶记录仪之间进行远程身份验证。我们让它与我们的测试行驶记录仪一起工作,但现在我们遇到了一个实时的问题。

每当我们开始身份验证时,一切都很顺利,直到 Tachograph 发送一个 get response 命令:00C0000080。行驶记录仪智能卡以 响应6D00。换句话说(据我所知),行驶记录仪请求智能卡的响应。并且智能卡回答“支持 CLA,但 INS 无效或未编程”(在文档中找到)。

我尝试强制使用 T1 协议。不改变结果。我们尝试强制 T0 协议,智能卡不再被我的软件读取。这意味着该智能卡显然不支持 T0 协议。

任何人都知道这个问题意味着什么?

编辑

有人要求我按 Maarten 放置命令的顺序,请参阅以下命令行:

  1. 卡给 ATR:3BDF960080B1FE451F870031C16408923201738421E0059000C5
  2. 转速表 回复:00A4020C020002
  3. 卡 回复:9000
  4. 转速表 回复:00B0000009
  5. 卡 回复:000103492B022104309000
  6. 转速表 回复:00A4040C06FF544143484F
  7. 卡 回复:9000
  8. 转速表 回复:0022C1B60A8308000DAA06111606A2
  9. 卡 回复:9000
  10. 转速表 回复:0088000010011EBDDCAFA17487000DAA06111606A2
  11. 卡 回复:9000
  12. 转速表 回复:00C000008000
  13. 卡 回复:6700
  14. 转速表 回复:00C0000080
  15. 卡 回复:6D00
  16. 所有通讯结束

对于 Maarten:您可以假设该软件工作正常。这是今天下午一辆卡车的实时数据。电子设备连接到 Tacho,我的软件(将阅读器物理插入服务器端)与电子设备通信。这个设备是由另一个程序员制造的,他向我保证,进出转速计的数据是正确通信的。我知道我的软件可以与智能卡正确通信,因为我们让它与另一张卡和转速计一起工作。

编辑#2

在我们发现内部验证命令中出现了一些错误后,我们尝试80在内部验证命令后面强制一个十六进制字节。这使该过程更进一步,但在读取二进制文件后仍会取消。不知道为什么会这样,但我们目前正在调查它。APDU 在下面。

  1. 通讯开始,卡发送 atr:3BDF960080B1FE451F870031C16408923201738421E0059000C5
  2. 转速表 回复:00A4020C020002
  3. 卡 回复:9000
  4. 转速表 回复:00B0000009
  5. 卡 回复:000103492B022104309000
  6. 转速表 回复:00A4040C06FF544143484F
  7. 卡 回复:9000
  8. 转速表 回复:0022C1B60A8308000DAA06111606A2
  9. 卡 回复:9000
  10. 转速表 回复:0088000010A73D4B33337EBC3D000DAA06111606A280
  11. 卡 回复:1C90A7F7796CC9B2082470504DCDCF3D3E9EEDEEE00F4AF1FCA127CC1D7B746D21C63DA4D75138B61D7715C4919B37601BF8897DB7C1DD5F58309D55B9588C007AFBA22F997523300B1351684F65AB5FA59E350295B7EE1170F934FC8AFE191E9DEEEDBF7C582D7D0709FEE0F1B44EF3C9D452AB8F25B1106B1E510EF956D6E79000
  12. 转速表 回复:0084000008
  13. 卡 回复:2DA8A7836A6FCF1A9000
  14. 转速表 回复:00820000800E5EE3CBE4F16EC816E3FB198F86338604455355AC6123E1B057C9A53ED356679B4F1AE34B8A2EBD95FDD96E4707CDECA208BF22BAA6F70A3ED0CCA39FCC6199B3F959F3226E018D46029142314F25A332C1666A44E9EE3616CD19F9A7E169827C3CEDED372F49A8478BCDD97E63EE48ED695EFFC9B556E4246732BB372C9714
  15. 卡 回复:9000
  16. 转速表 回复:00A4020C020520
  17. 卡 回复:9000
  18. 转速表 回复:0CB000000997018B8E04F0821140
  19. 卡 回复:9000
  20. 转速表 回复:00A4020C020501
  21. 卡 回复:9000
  22. 转速表 回复:0CB00003099701028E046733DD55
  23. 卡 回复:6688
  24. 所有通讯结束

如您所见,我们80在内部验证命令后面手动添加,使其更进一步,但仍然出错。我们不确定为什么现在出错了,欢迎任何想法和建议,说明为什么卡现在以 6688 响应,而读取的二进制文件应该只返回信息。我们现在正在考虑“Stonedidge”测速仪与“VDO”测速仪的工作方式不同。并且公司/司机没有将转速设置为远程CAN通信,导致错误。我会更新这个问题以供以后使用和其他遇到相同问题的人使用。

已解决(暂时)

事实证明,斯通里奇行车记录仪确实存在问题。我们认为stoneridge 需要由车间配置以启用远程认证和下载。我们有一些文件似乎证实了这一点。我不会解释这是如何完成的,因为这类信息并不适合所有人。我们今天在另一辆装有 VDO 行驶记录仪(不需要此配置)的卡车上进行了现场测试,一切正常,如附录 11 所示。如果我没有忘记,我会在配置 Stoneridge 时更新这个问题和让它工作,所以遇到这个问题的任何其他人也可以尝试它。

标签: c#smartcardapdupcsc

解决方案


在 T=1 中(通常)不支持 GET RESPONSE,因为获取响应是 APDU 传输层的一部分。在 T=1 中,您只需将 Le 字节(现在值为 0x80)粘贴到请求数据的命令的末尾,使其成为 ISO CASE 2(仅响应数据)或 4(存在命令和响应数据)命令。


推荐阅读