Java Card Developmet Kitのサンプルアプリ
- Java Card 3.0.x / 3.1のサンプルアプリ情報。
- Java Card Dev Kit (3.1の場合は、Java Card Dev Kit Simulator)をダウンロードすると、「samples」フォルダにある。
- Samplesはclassic_applets、reference_appsで構成
- 全てのRIDはSun Microsystems Inc.の[A000000062] - [0xa0:0x0:0x0:0x0:0x62]
- On Card InstallerのInstaller Appletは[0xa0 0x00 0x00 0x00 0x62 0x03 0x01 0x08 0x01]
Samples
I. classic_applets
1. Hello World
- リンク : https://smartcardguy.hatenablog.jp/entry/2018/08/07/113441
- AID
- (applet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1:0x1 (com.sun.jcclassic.samples.helloworld.HelloWorld)
- echoアプリ
2. Channels
- AID
- (applet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0xb:0x1 com.sun.jcclassic.samples.channels.AccountAccessor
- (applet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0xb:0x2 com.sun.jcclassic.samples.channels.ConnectionManager
- 仮想のワイヤレスデバイスがネットワークサービスへ接続すアプリ
- 2つのAppletのInteractionのデモ
3. Service
- AID
- (applet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x9:0x1 com.sun.jcclassic.samples.service.Main
- javacard.framework.service.BasicServiceのサンプル
4. Utility
- AID
- (applet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x03:0x01:0x0C:0x10:0x01 com.sun.jcclassic.samples.utility.BrokerApplet
- javacard.framework.Utilのサンプル
- 使われているUtility Methodは以下の通り
- Util.arrayCompare
- Util.getShort
- Util.arrayCopyNonAtomic
- Util.arrayFillNonAtomic
- Util.setShort
5. Wallet
- リンク : https://smartcardguy.hatenablog.jp/entry/2018/08/11/150945
- AID
- (applet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x6:0x1 (com.sun.jcclassic.samples.wallet.Wallet)
- ATMアプリ。預金、引き出し、残高照会等の機能
6. ObjectDeletion
7. PhotoCard
- AID
- (applet.opt) applet 0xA0:0x00:0x00:0x00:0x62:0x03:0x01:0x0C:0x07:0x01 com.sun.jcclassic.samples.photocard.PhotoCardApplet
- 写真入りカード
- PhotoCard\clientの中に4つのgifファイル(duke_magnify, duke_pencil, duke_thumbsup, duke_wave)がある。
8. RMIPurse
9. StringHandlingApp
- AID
- (applet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1:0x1 com.sun.jcclassic.samples.stringapp.StringHandlingApp
- (applet2.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x3:0x1 com.sun.jcclassic.samples.stringutilapp.StringUtilApp
10. SecureRMIPurse
- US内部のみ。Global bundleでは利用できない。
11. SignatureMessageRecovery
12. ArrayViews Sample (JC 3.1のみ - Command Lineからの実行)
- AID
- (ClientApplet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0xd:0x1 com.sun.jcclassic.samples.arrayview.ClientApplet.ClientApplet
- (ServerApplet.opt) applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0xc:0x2 com.sun.jcclassic.samples.arrayview.ServerApplet.ServerApplet
13. CertHandling Sample (JC 3.1のみ - Command Lineからの実行)
II. reference_apps
1. Biometry
2. JavaPurseCrypto
3. PurseWithLoyalty
4. Transit
- 交通系カードサンプル。
- US内部のみ。Global bundleでは利用できない。
Samples Link
サンプルアプリを理解するための情報サイト
Oracleオフィシャル
- JC Development Kit User Guide (3.0.5) - 4 Running the Samples
- JC Development Kit User Guide (3.1) - 4 Running the Samples
- OTN - Writing a Java Card Applet (Wallet.java) by Ed Ort
- OTN - Developing a Java Card Applet (Wallet.java) by Ed Ort