我目前正在开发c#dll,以便机器将applet加载到Java卡中。我试图将文件转换为字节,但字节与pyapdutool的字节不同。
来自PYAPDUTOOL
<< 80 E8 00 00 FA C4 82 53 AB 01 00 27 DE CA FF ED 02 02 04 00 01 0A A0 00 00 00 74 4D 79 54 00 10 12 63 6F 6D 2F 70 6E 6D 62 2F 6D 79 74 65 6E 74 65 72 61 02 00 21 00 27 00 21 00 35 00 29 02 DA 00 9A 25 80 25 56 04 A0 00 00 07 C1 3E C7 00 6A 00 19 25 01 04 04 04 04 00 29 04 03 01 07 A0 00 00 00 62 01 01 03 01 07 A0 00 00 00 62 02 01 03 01 07 A0 00 00 00 62 01 02 00 01 07 A0 00 00 00 62 00 01 03 00 35 04 0A A0 00 00 00 74 4A 50 4E 00 10 11 6B 0A A0 00 00 00 74 49 4D 4D 00 10 00 80 0A A0 00 00 00 74 4A 50 4A 00 10 08 F4 0A A0 00 00 00 74 4B 4B 4D 00 10 1A B2 06 00 9A 00 00 00 80 03 0B 00 0B 04 0E 00 00 00 9C FF FF 00 94 00 A3 02 03 02 5D 02 72 03 71 04 54 04 9C 04 E2 05 45 05 CF 06 9A 00 80 03 0B 00 0B 04 0E 00 00 09 10 FF FF 09 08 09 17 0A 77 0A D1 0A E6 0B 01
从将.cap文件转换为字节
50 4B 03 04 14 00 08 08 08 00 94 74 F8 4C 00 00 00 00 00 00 00 00 00 00 00 00 14 00 04 00 4D 45 54 41 2D 49 4E 46 2F 4D 41 4E 49 46 45 53 54 2E 4D 46 FE CA 00 00 95 93 DF 6F 9B 30 10 C7 DF ....
据我所知,gp是强制性的第一个字节(C4),后跟.cap文件长度(82 53 AB)。我如何获得与pyapdutool中所示相同的apdu数据?
答案 0 :(得分:1)
Cap文件基本上是jar file(又类似于zip文件),其格式在“虚拟机规范。JavaCard Platform版本3.0.5”的第6节“ CAP文件格式”中进行了描述。 (可用here)。
它由几个组件(部件)组成,这些组件需要以正确的顺序加载到卡中(请参阅上述文档中的6.3节)-您不能只获取帽文件字节并将其发送到卡中。
“ GlobalPlatform卡规范”(可用here)中描述了加载过程-请参阅INSTALL
和LOAD
命令(如果您使用卡,则可能要检查本文档的旧版本)使用它。)
另一种方法(也是更简单的方法)是查看GlobalPlatformPro的来源(例如here和here)。
祝你好运!