我有一个智能卡读卡器,我想从我的SIM卡获取数据。我试图发送几个APDU命令,但除了ATR外我什么都收不到。所以如果有一种可能的方式来访问我必须发送哪些APDU命令的SIM卡?T = 0协议的APDU命令
回答
在谈到SIM卡时,您需要参考3GPP规范中的APDU命令,而不是ISO 7816.APDU命令在3GPP TS 11.11第8和9节中列出。最新版本是8.14.0。请注意,CLA字节是专有的,即使用0xA0。
尝试发送SELECT APDU命令,与MF的文件标识符,如下:
A0 A4 00 00 02 3F 00
你应该得到9FXX
响应。
如果您的卡是USIM,您可以发送基于ETSI 102.221和3GPP 31.102以及3GPP 51.011的APDU命令。
SIM卡的APDU命令是否与USIM的APDU命令不同?你能否向我推荐两者的正确规格?那么OTA命令呢?有没有任何规范可以帮助我使用OTA SMS? – Jean 2015-03-14 11:09:49
此外,我找不到“3GPP 51.011”作为pdf。你有吗? – Jean 2015-03-14 11:17:53
SIM和USIM/UICC的APDU在CLA上不同('A0'对'00'/'80')。但是,两者都使用类似的INS。 OTA数据从服务器发送到SIM,手机使用信封APDU(INS'C2')。要理解OTA,您需要掌握SMS规范(3GPP TS 23.040),然后是串联+安全消息传递(3GPP TS 23.048)。所有规格可从3GPP.org下载:http://www.3gpp.org/specifications/specification-numbering – David 2015-03-14 15:01:33
T = 0是一个特殊的协议。它不会超出标准SW1/SW2发送响应,如果没有额外要求。这是通过使用前一个SW1/SW2长度的GET RESPONSE命令完成的。欲了解更多信息,请参阅ISO 7816第4部分。
是的,我试过了。我发送了GET RESPONSE命令并成功接收到此响应:85 10 00 00? 00 8 00 00 00 01 00 01 00 00 00 00 m 90 00,我读到这是MF(指令字节)。现在我该怎么处理这个字节? – BornForJava 2015-02-25 06:41:20
所以你现在可以得到卡的输出。我想,你对Select MF/Application没有包含太多有趣的东西给予了回应。在由@David链接的文档的第10部分查看现有文件及其内容。 – guidot 2015-02-25 09:50:44
- 1. IRC协议的JOIN命令
- 2. “docker pull”命令的协议
- 3. 如何通过APDU命令APDU命令功能
- 4. APDU命令中的负数
- 5. Mifare ultraligtht和APDU命令
- 6. APDU命令异步调用
- 7. APDU命令读取卡号
- 8. APDU GET不支持命令
- 9. 读取一个APDU命令
- 10. 12s协议版本的Activesync sendmail命令?
- 11. 扭曲的命令行协议
- 12. 使用OpenSSL命令行验证协议
- 13. 协议缓冲区make命令libprotobuf.dll.a
- 14. 外部附件命令协议
- 15. 什么APDU命令获取卡ID
- 16. 我无法找到SLE5542的APDU命令
- 17. 如何使用java卡技术识别java卡协议(T = 0或T = 1)?
- 18. APDU命令获取智能卡uid
- 19. APDU在mifare classic上写块命令
- 20. Mifare读取APDU命令recived 63 00
- 21. 写入记录使用APDU命令
- 22. NFC APDU READ命令性能调优
- 23. APDU命令错误 - 响应6C6B
- 24. JCRE行为接收SELECT APDU命令
- 25. 基于命令的协议解析器中每个命令的唯一类?
- 26. 通过xbee.send()发送的命令的协议是什么?
- 27. CAS协议 - 刷新令牌?
- 28. 令牌环协议java
- 29. 对协议有什么需求T.120
- 30. 在Python中开发T.120协议
您可以显示迄今为止尝试过的命令吗?此外,没有多少人熟悉APDU,因此发布上下文有助于打击那些不立即看到如何产生答案的人不可避免的downvote/close狂欢。 – 2015-02-24 08:23:04