编程语言
首页 > 编程语言> > 如何使用Java Card apdu从智能卡写入和读取数据

如何使用Java Card apdu从智能卡写入和读取数据

作者:互联网

我已经编写了一个applet,并将其安装在智能卡中.但是我不知道如何读写数据到智能卡?

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将数据写入智能卡.

解决方法:

您的卡是接触式或非接触式的.因为您说您已经安装了该applet,所以我假设您已经拥有该卡的密钥.

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

>首先使用安装了小程序的安全域进行身份验证
>选择小程序的AID
>使用发送将数据发送到applet.

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

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

如果您还需要其他任何内容,则需要提供有关要完成的工作的更多详细信息.

标签:apdu,smartcard,java,byte,javacard
来源: https://codeday.me/bug/20191009/1881185.html