繁体   English   中英

智能卡上的 memory 如何工作以及如何访问数字行驶记录卡的唯一 ID

[英]How does memory on a smart card work and how to acces the digital tachograph card's unique ID

对于我的第一次实习,我必须与欧洲的行车记录仪阅读器一起做一些很棒的事情。

简而言之:我必须使用智能卡读卡器来读取接触式(不是无线电智能卡)ISO 7816 公司卡,以读出该卡的唯一标识符。 没有其他的。 然后,我必须将该标识符与重置答案一起发送到其他地方,在那里对其进行处理、回答,然后一些数据上下对话。

那里没有代码,我必须在将来的某个地方构建所有东西,包括服务器。 现在,我专注于卡片部分。 我从头开始,并被要求为此使用 C#。 我在 Linux 上使用 PCSC-lite 库,并且已经可以与卡通信。 我能够获得重置代码的答案,并且能够使用智能卡做一些其他事情,这对我的问题并不重要。 我还阅读了大部分 ISO 7816 数据表。 尤其是对我来说似乎很重要的部分。 我的代码读回响应并检查 sw1 和 sw2 是什么。 所以我可以阅读调试信息。 所以我想我至少已经掌握了一些基础知识......

我是公司里唯一能做这件事的人。或者应该能够做到这一点。 而我的最后一口气。

有人可以,在该领域有任何经验。 请用简单的话给我解释一下:

1.这种卡上的memory是如何构建的

2.如何访问memory

3. 哪些 APDU 以及以何种顺序发送它们以获得唯一的卡标识符(或指向我可以找到 memory map 或其他东西的方向)

对于问题一,我的具体意思是:我知道数据结构似乎适用于我需要“选择”的 EF,而不是尝试使用正确的 apdu 提取数据。 但我真的不明白它是如何工作的,或者 memory 结构是如何构建的。 我已经阅读了 ISO 文件,但它们对我来说有点困难。 也许如果我得到一些帮助,我会更好地理解他们。

对于问题二,我具体的意思是:在正常情况下,我应该以什么顺序发送它们,访问一块memory。

我已经阅读了很多关于该主题的堆栈溢出的内容,但找不到适合我的答案。

我将永远欠你的债,如果你这么好心回答我的问题,你已经帮助了一个学生:)

  • 奥斯卡

我不确定我是否理解你的问题(我使用智能卡多年)。 基于文件系统的智能卡上没有可用的自由浮动 memory(与 SLE44 等愚蠢的 memory 卡相反),您只能通过文件(在这种情况下为 EF)访问它。 虽然原则上可以创建新文件,但现实生活中的卡片需要为此进行特定的身份验证,而您不太可能拥有这些文件的密钥。

规范中给出了哪些文件已经存在(以及哪些数据存储在哪个记录/偏移量/数据对象中),在您的情况下,在此处找到的规范之一中给出。 使用的规范是必不可少的,因为卡本身可以支持许多应用程序,而行驶记录仪只是其中之一。 一旦你知道数据在哪里,你必须创建相应的 SELECT / READ RECORD / READ BINARY 命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM