VisualC ++/PCSCを使用して、Javaカードアプレット(A .Capファイル)をプログラム的にロードする方法

StackOverflow https://stackoverflow.com/questions/3779557

  •  04-10-2019
  •  | 
  •  

質問

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

役に立ちましたか?

解決

これは些細な仕事ではないことは正しいです。

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

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

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

私の会社は、Webブラウザープラグインを呼び出します カードボス ブラウザからこの種のこと(PCSC経由のカード通信)を行うために - 自分のAPDUを入力してフォローURLのカードに送信できる場所で使用できるWebページがあります。

https://cardboss.cometway.com/content.agent?page_name=card+boss+lab

ツールを使用する場合、アプレットインストールスクリプトは次のように見えるはずです(これは、デフォルトの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 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top