4

私は現在、JavaCard アプリケーション アプレット ( .cap ) ファイルを JavaCard にロードする必要があるプロジェクトに取り組んでいます。私たちのフレームワークは Visual C++ と PCSC に基づいているため、一連の JavaCard に同じアプレットをロードする必要があります。これをどのように処理できるか知っている人はいますか?つまり、どこから始めればよいのでしょうか。ありがとう!

4

1 に答える 1

3

これが些細な仕事ではないことは間違いありません。

異なる javacard には違いがありますが、一般的に次の 4 つのことを行う必要があります。

  • カードとの安全な通信を初期化します (多くの javacard は「グローバル プラットフォーム」カードであるため、安全なチャネルが必要です)
  • 「アプレットをインストールしたい」というコマンドを送信します
  • インストールするアプレットのバイナリ データを送信する
  • バイナリデータが送信された後、アプレットを「インスタンス化」するコマンドを送信します

上記の手順を実行するためにプラグインによって生成された APDU を確認できるため、Eclipse プラグインを使用して最初にアプレットをインストールすることをお勧めします。アプレットをインストールするために送信する必要がある APDU コマンドがわかったら、C++ コードから PCSC インターフェイスを使用してこれらのコマンドを直接送信し、多数のカードへのインストールを自動化できます。

私の会社は、ブラウザからこの種のこと (pcsc を介したカード通信) を行うためのCard Bossと呼ばれる Web ブラウザ プラグインを作成しています。次の URL で、独自の APDU を入力してカードに送信できる Web ページを使用できます。 :

https://cardboss.cometway.com/content.agent?page_name=カード+ボス+ラボ

当社のツールを使用する場合、アプレットのインストール スクリプトは次のようになります (これは、デフォルトの jcop キーを使用する JCOP カード用のスクリプトであることに注意してください)。

    MESSAGE BOX Installing applets...

    INIT CHANNEL 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f, 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f

    // INSTALL CAP: 
    SEND 80 E6 02 00 1D 10 A0 00 00 00 09 00 03 FF FF FF FF 89 10 71 00 01 08 A0 00 00 00 03 00 00 00 00 00 00 

    // LOADING CAP: 
    SEND 80 E8 00 00 FA C4 82 01 03 01 00 25 DE CA FF (snip, I removed a bunch 
of binary data representing the cap file to shorten this post, and you might
need multiple SEND commands because of limits on the size of APDUS)

    // INSTANTIATING Applet
    SEND 80 E6 0C 00 1E 05 63 6F 6D 65 74 07 63 6F 6D 65 74 00 01 05 00 00 00 00 00 01 00 06 C9 04 68 2C 00 03 00 00 
于 2010-09-29T22:41:10.177 に答える