首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用javax.smartcardio从智能卡读取串口

用javax.smartcardio从智能卡读取串口
EN

Stack Overflow用户
提问于 2016-12-27 10:21:10
回答 1查看 1K关注 0票数 0

因此,我试图编写一个小小程序,它使用javax.smartcardio库从智能卡读取序列号。智能卡与bit4id阅读器连接,现在我成功地连接到智能卡,读取基本信息,如ATR和协议(T=1)。

我对此做了一些研究(例如:organizations.aspx#table9)

但是我没有得到APDU命令的具体列表,我应该发送到卡片上才能得到那个序列。有没有一种“简单的方法”来做到这一点,而不阅读大量的文件和手册?我想我需要一些数据表来知道数据是如何存储在卡内的,对吗?或者我可以发送某种命令APDU从卡中检索这些信息吗?

现在我只接收SW=6986响应(无效命令)

任何建议,即使只是在工作流程,将是强烈的感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-01-25 13:17:56

,没有,一种读取智能卡序列号的方法。“智能卡”是在7816规范中定义的ISO/IEC标准。许多行业使用这一标准,如移动SIM、银行卡和数字签名卡。

该标准在行业间的实施是不同的,有些行业提出了这一基本标准,并增加了APDU等,如移动SIM情况下的3 3GPP/GSMA标准或银行中的EMV标准。

无论如何,假设此卡符合智能卡ISO/IEC 7816,您可能会假设它使用了卡数据的文件库存储。您可以使用"SELECT“命令(定义在7816-4中)来尝试访问所有可用的文件并打印那里的信息。也就是说,文件由两个字节标识,比如3F00,您可以从0000,0001,0002....FFFF中选择,然后如果获得成功的select (状态词90),然后读取内容并打印出来。这样做,您可能能够识别哪个文件具有“序列”,然后您只需要继续读取该文件。

以上并不是“容易”,但可能是一个很好的挑战和学习经验。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41343269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档