如何使用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