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を使用してデータをアプレットに送信します。

応答には、アプレットから送信しているバイトが表示されます。

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

さらに何かが必要な場合は、達成しようとしていることの詳細を提供する必要があります。

于 2011-11-25T15:10:11.757 に答える
0

私は解決策を見つけました。実際、Eclipse をエディタとして使用しています。Java カード プラグインがインストールされています。スマート カードでプログラムを実行すると、毎回以前のアプレットに最新のアプレットがインストールされます。結果を確認するには、pyapdu ツールを使用できます。非常に優れています。すべての応答をありがとう..

于 2012-02-15T04:49:50.243 に答える