使用 java 命令 APDU 读写 SLE4442 智能卡中的数据?
Read write data in SLE4442 smart card with java commandAPDU?
我想读写SLE4442智能卡中的数据
我有 ACR38U-i1 智能卡 reader
写我用这个命令APDU
byte[] cmdApduPutCardUid = new byte[]{(byte)0xFF, (byte)0xD0, (byte)0x40,(byte)0x00, (byte)4,(byte)6,(byte)2,(byte)6,(byte)2};
以及读取数据
byte[] cmdApduGetCardUid = new byte[]{(byte)0xFF,(byte)0xB0,(byte)0x40,(byte)0x00,(byte)0xFF};
两者都执行并发送 SW= 9000
但没有数据收到响应APDU
就像我写了 6262 数据但它没有收到
我也在写和读命令之前使用Select命令
select命令是
byte[] cmdApduSlcCardUid = new byte[]{(byte)0xFF,(byte)0xA4,(byte)0x00,(byte)0x00,(byte)0x01,(byte)0x06};
谁有合适的 java 代码来读写 SLE4442 智能卡?
与使用存储卡相关的 APDU 命令对于不同的读者和实现的支持可能不同。这是一个 example for OmniKey reader.
查看您的 ACR reader specification 并使用特定的 Pseudo-APDU 命令与 SLE 4442 一起工作。
针对您的问题:
4.6.1 SELECT_CARD_TYPE:"FF A4 00 00 01 06"
,其中数据中的0x06
表示"Infineon SLE 4432 and SLE 4442" .
4.6.2 READ_MEMORY_CARD:"FF B0 00 [Bytes Address] [MEM_L]"
,其中
[Bytes Address]
:是内存卡的内存地址位置
[MEM_L]
:要从内存卡读取的数据长度
4.6.5 WRITE_MEMORY_CARD: "FF D0 00 [Bytes Address] [MEM_L] [Data]"
[Data]
: 待写入内存卡的数据
您使用了 P1 = 0x40
,这可能是个问题。
我想读写SLE4442智能卡中的数据 我有 ACR38U-i1 智能卡 reader
写我用这个命令APDU
byte[] cmdApduPutCardUid = new byte[]{(byte)0xFF, (byte)0xD0, (byte)0x40,(byte)0x00, (byte)4,(byte)6,(byte)2,(byte)6,(byte)2};
以及读取数据
byte[] cmdApduGetCardUid = new byte[]{(byte)0xFF,(byte)0xB0,(byte)0x40,(byte)0x00,(byte)0xFF};
两者都执行并发送 SW= 9000 但没有数据收到响应APDU 就像我写了 6262 数据但它没有收到
我也在写和读命令之前使用Select命令
select命令是
byte[] cmdApduSlcCardUid = new byte[]{(byte)0xFF,(byte)0xA4,(byte)0x00,(byte)0x00,(byte)0x01,(byte)0x06};
谁有合适的 java 代码来读写 SLE4442 智能卡?
与使用存储卡相关的 APDU 命令对于不同的读者和实现的支持可能不同。这是一个 example for OmniKey reader.
查看您的 ACR reader specification 并使用特定的 Pseudo-APDU 命令与 SLE 4442 一起工作。
针对您的问题:
4.6.1 SELECT_CARD_TYPE:"FF A4 00 00 01 06"
,其中数据中的0x06
表示"Infineon SLE 4432 and SLE 4442" .
4.6.2 READ_MEMORY_CARD:"FF B0 00 [Bytes Address] [MEM_L]"
,其中
[Bytes Address]
:是内存卡的内存地址位置[MEM_L]
:要从内存卡读取的数据长度
4.6.5 WRITE_MEMORY_CARD: "FF D0 00 [Bytes Address] [MEM_L] [Data]"
[Data]
: 待写入内存卡的数据
您使用了 P1 = 0x40
,这可能是个问题。