1

必要なすべての tlv ライブラリ (JavaCard のライブラリ) を Java SE アプリケーションにインポートしましたが、期待どおりに動作しません。

例として、JavaCard アプレットで実行しようとすると、次のようになります。

byte data[] = {(byte) 0xc1, (byte) 0x02, (byte) 0x01, (byte) 0x02};

if (BERTLV.verifyFormat(data, (short) 0, (short) 4)) {

        ISOException.throwIt((short) 0x6666);

}

受信したステータス ワードは 0x6666 です。つまり、データは整形式の BER TLV 表現です。

しかし、Java SE コードを実行しようとすると:

byte data[] = {(byte) 0xc1, (byte) 0x02, (byte) 0x01, (byte) 0x02};

System.out.println(BERTLV.verifyFormat(data, (short) 0, (short) 4));

結果は偽です。つまり、データは整形式の BER TLV 表現ではありません。

同様に、Java SE アプリケーションでは他の機能が正しく動作しません。

どうすれば修正できますか?

読んでくれてありがとう。

4

0 に答える 0