我正在使用读写器acr38f,我的智能卡是SLE4418。如何在智能卡上读写文本?
例如:Hello World!
apdu = [0XFF, 0X20,0x00,0x00,0x02, 0x00, 0x00]
response, sw1, sw2 = cardservice.connection.transmit( apdu )
apdu = [0XFF,0xA4,0x00,0x00,0x01,0x05] response, sw1, sw2 = cardservice.connection.transmit( apdu ) apdu = [0XFF,0XB2,0X00,0xA7,0X09] response, sw1, sw2 = cardservice.connection.transmit( apdu ) print response apdu = [0XFF, 0XD0,0x00,0xA7,0x09,0xA7,0x02,0xA7,0x02,0xA7,0x02,0xA7,0x02,0xA7] response, sw1, sw2 = cardservice.connection.transmit( apdu )
卡响应:
connecting to ACS CCID USB Reader 0
ATR 3B 04 92 23 10 91
> FF 20 00 00 02 00 00
< 00 00 00 90 0
> FF A4 00 00 01 05
< [] 90 0
> FF B2 00 A7 09
< FF FF FF FF FF FF FF FF FF 90 0
[255, 255, 255, 255, 255, 255, 255, 255, 255]
> FF D0 00 A7 09 A7 02 A7 02 A7 02 A7 02 A7
< [] 90 0
我没有硬件来测试,但这会让你开始:
与智能卡通信涉及发送APDU(智能卡应用协议数据单元)命令和接收APDU响应。
命令apdu通过读写器(ACR38F)发送,由一个4字节的头和数据(以及关于数据大小和响应大小的信息)组成
答复包括:
在SLE4418, in order to write data,的情况下,值应如下所示:
因此在代码中:
其他相关信息:
相关问题 更多 >
编程相关推荐