首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取APDU命令的响应

读取APDU命令的响应
EN

Stack Overflow用户
提问于 2014-03-30 04:19:58
回答 2查看 2.3K关注 0票数 1

我正在尝试从智能卡中的文件中读取数据,我正在使用以下APDU命令

代码语言:javascript
复制
00 B0 00 02 00

但我得到的回应是:

代码语言:javascript
复制
A1 1B 4F 0C A0 00 00 00 77 02 08 05 04 49 44 01 50 07 43 4E 49 2D 43 53 45 51 02 10 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 00 

如何以十六进制编码转换或读取此值?

EN

回答 2

Stack Overflow用户

发布于 2014-03-30 19:13:53

最后两个字节组成状态字(SW),首先是90,然后是00。其余部分是文件中二进制数据的十六进制编码。

然而,看起来内容是ASN.1 BER编码的。因此,您需要对响应进行BER解码。BER为TLV (标签长度值)。因此,前两个字节是标记和值,A1 1B。文本的含义是特定于上下文的(因此请查看此特定文件的规范)。因此,您的文件实际上包含2+ 1B字节,或29字节,其余的保留它们的默认值00

BER解码是在ISO 7816-4中指定的,你应该真正了解基于文件的智能卡的任何东西。还要看一下Wikipedia page about ASN.1和解码后的值here

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

https://stackoverflow.com/questions/22736399

复制
相关文章

相似问题

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