1

我编写了一个小程序并将其安装在智能卡中。但我不知道如何读写智能卡数据?

private void readName(APDU apdu) throws ISOException
{
    byte[] apduBuffer = apdu.getBuffer();
    for (byte i=0; i<userName.length; i++)
    {
        apduBuffer[5+i] = userName[(byte)i] ;
    }
    apdu.setOutgoing();
    apdu.setOutgoingLength((short)userName.length);
    apdu.sendBytes((short)5, (short)userName.length);
}

从智能卡读取数据是正确的代码吗?

请告诉我如何使用 javacard 将数据写入智能卡。

4

2 回答 2

1

您的卡是接触式或非接触式的。既然你说你已经安装了小程序,我假设你有卡的钥匙。

如果是这样,为了与您的卡进行通信,您需要执行以下操作:

  1. 首先向安装小程序的安全域进行身份验证
  2. 选择小程序的AID
  3. 使用 SEND 将数据发送到小程序。

在响应中,您将看到从 Applet 发送的字节:

apdu.setOutgoingLength((short)userName.length);
apdu.sendBytes((short)5, (short)userName.length);

如果您需要更多信息,则需要提供有关您尝试完成的任务的更多详细信息。

于 2011-11-25T15:10:11.757 回答
0

I found solution.actually I am using eclipse as a editor java card plugin are install in it.when I run program on Smart Card it install latest applet on previous applet every time.To see result we can use pyapdu tool it is very good. thanks for all the response..

于 2012-02-15T04:49:50.243 回答