アプレットの開発に JCOP プラグインを使用している場合、各パッケージの bin/ ディレクトリに .CAP ファイルがあります。次に、依存関係の順に各パッケージをインストールする必要があります。アプリケーションがパッケージ A、B、および C で構成され、アプレットが C パッケージであるとします。B は A をインポートし、C は B をインポートします。
パッケージをインストールする必要がある順序は、A、B、C です。JCOP を使用すると、これは次の方法で実現できます。
cm> install <pkgAID> package.cap
3 つのパッケージに対してこれを行ったら、アプレットをインストールする必要があります。これは、次の方法で実現できます。
cm> install -q <install params> <pkgAID> <AppletAID> packageC.cap
これを行うと、アプレットが SELECTABLE 状態になります。JCOP シェル コンソールは次のようになります。
Card Manager AID : A000000003000000
Card Manager state : SECURED
Application: SELECTABLE (--------) A00000008710015553
Application: SELECTABLE (--------) "2PAY.SYS.DDF01"
Application: SELECTABLE (--------) A0004D6946617265
Application: SELECTABLE (--------) A0000000041010
そして、「モジュール」(ライブラリ) であるすべてのパッケージは、次のように表示されます。
Load File : LOADED (--------) A0000002994E6F53
Module : A0000002994E6F53656C656374
Load File : LOADED (--------) A0000002990410
Module : A00000029904101045
SELECTABLE 状態のすべてのアプレットを選択して操作できるようになりました。A00000008710015553 のアプレットにデータを送信する場合は、最初にそれを選択する必要があります。相互作用は次のようになります。
cm> /select A00000008710015553
=> 00 A4 04 00 09 A0 00 00 00 87 10 01 55 53 00 ............US.
(5273 usec)
<= 90 00 ..
Status: No Error
これで、send コマンドを使用して上記のアプレットにデータを送信できます。
cm> /send 00200000043131313100
=> 00 20 00 00 04 31 31 31 31 00 . ...1111.
(34423 usec)
<= 90 00 ..
Status: No Error
これらはすべて標準の GP コマンドです。GP 準拠のカードを使用していると仮定しました。あなたはそれについて何も言及していません。
個人的には、JC ランタイム環境と JC VM がどのように機能するか、さらに詳しく調べる前に API との関係と GP 仕様について少し読む必要があると感じています。