как писать и читать данные со смарт-карты, используя Java-карту APD - PullRequest
1 голос
/ 25 ноября 2011

Я написал апплет и установил его на смарт-карту. Но я не знаю, как читать и записывать данные на смарт-карту?

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.

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Ваша карта либо контактная, либо бесконтактная. Поскольку вы говорите, что уже установили апплет, я предполагаю, что у вас есть ключи от карты.

Если это так, для связи с вашей картой вам необходимо сделать следующее:

  1. Сначала выполните аутентификацию в домене безопасности, в который установлен апплет
  2. Выберите AID апплета
  3. используйте SEND для отправки данных в апплет.

И в ответе вы увидите байты, которые вы отправляете из апплета:

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

Если вам нужно что-то еще, вам нужно будет предоставить более подробную информацию о том, что вы пытаетесь достичь.

0 голосов
/ 15 февраля 2012

Я нашел решение. На самом деле я использую eclipse в качестве редактора, в него устанавливается плагин java-карты. Когда я запускаю программу на смарт-карте, она каждый раз устанавливает последний апплет на предыдущий апплет. Чтобы увидеть результат, мы можем использовать инструмент pyapdu. отлично. спасибо за все ответы ..

...