Java 智能卡-更新记录命令返回6D 00

Java 智能卡-更新记录命令返回6D 00,java,smartcard,javacard,Java,Smartcard,Javacard,我正在为ISO 7816卡编写一个智能卡程序,需要更新记录。我用JAVA和javax.smartcardio库编写程序 我使用以下命令选择文件:ins=0xA4 我可以用这个命令读取记录:cla=0x80,ins=0xB2,p1=0x00,p2=0x00,le=90 读取正确的记录并发送给我90 00。 现在我需要更新这个记录。所以我使用这个命令:cla=0x80,ins=0xDC,p1=0x00,p2=0x00,以及一些数据 但在APDU的响应中,我得到6d00错误,这意味着“Ins值不受支持

我正在为ISO 7816卡编写一个智能卡程序,需要更新记录。我用JAVA和
javax.smartcardio
库编写程序

我使用以下命令选择文件:
ins=0xA4

我可以用这个命令读取记录:
cla=0x80
ins=0xB2
p1=0x00
p2=0x00
le=90

读取正确的记录并发送给我
90 00
。 现在我需要更新这个记录。所以我使用这个命令:
cla=0x80
ins=0xDC
p1=0x00
p2=0x00
,以及一些数据

但在APDU的响应中,我得到
6d00
错误,这意味着“Ins值不受支持”


如何正确更新记录?

我有一个命令:
00dc 01 04
。它的工作原理是:

00:class
DC:INS
01:P1,记录位置
04:P2,

诚恳地说。

这是什么卡?为什么您希望记录是可写的(使用此命令/根本不需要身份验证)?@MichaelRoland它是ISO 7816-4智能卡。。。我有程序的源代码,用于读取卡的数据。。。我想我可以改变命令来改变这个文件的数据。。。但这不是身份验证问题,因为错误与ins值有关。。。这是不可能的?ISO/IEC 7816-4是定义智能卡数据结构和一组命令的标准,它不是智能卡产品。智能卡可能遵循ISO/IEC 7816-4的部分规定,但通常不会执行所有命令。具体而言,您的卡支持的命令(CLA=
80
,INS=
B2
)是一个专有命令,不符合ISO/IEC 7816-4标准(CLA=
80
表示专有类别)。您需要获得有关智能卡芯片(以及可能在其上运行的应用程序)的更多信息,以确定是否可以修改(以及如何修改)芯片上的数据结构。您可以分析ATR并猜测智能卡类型。为了快速检查,您可以尝试写入记录(INS=0xD2)而不是更新记录(INS=0xDC)