上一篇我们已经讲过如何搭建环境,接下来这篇文章则记录 如何建立工程,仿真与实卡两种情况下所需要注意的几个点。
一、新建工程
-
File/New/Java Card Project
-
Project name = Wallet
-
Finish
-
File/New/Java Card Applet
-
Package = wallet
-
Name = Wallet
-
Next
-
Package AID = A00000000001
-
Applet AID = A0000000000101
-
Finish
二、运行
方式一:JCOP
- Run/Run Configurations…
- Java Card Application 右键 New
- Java Card Simulation
- JCOP on NXP SmartMX
- Apply
- Run
方式二:实卡
- Run/Run Configurtions…
- Java Card Application 右键 New
- Card reader
- 选择读卡器名
- Apply
- Run
三、Debug
只有 JCOP 才能调试
- Run/Debug Configurations…
- Java Card Application 右键 New
- Java Card Simulation
- JCOP on NXP SmartMX
- Apply
- Run
Note:F5进函数、F6单步、F7跳出函数、F8全速运行
| 注意点 | 问题现象 | 解决办法 |
|---|---|---|
| COS 安装的 AID 不能重复 | 安装 Applet 返回 6A88 | 在 jcshell 发送 l 查看 COS 信息,通过 delete -r 删除指定 AID |
| 实卡安装应用时 ISD 必须与初始化配置的一致 | 安装 Applet 返回 6A88 | 在 Run Configurtions / Debug Configurtions 的 Java Card Applet/Wallet/Target/Card reader/Configure…/Custom card type 里,使 Card Manager AID 和 Default Security Domain AID 跟 初始化配置的 ISD一致 |
| 第三方 jar 包只适用于实卡对应的COS | JCOP运行和调试返回 6A88 | 使用安装了对应 COS 的实卡运行 |
| C9 安装参数有时需要配置 | 安装 Applet 返回 6A80 | 在 Run Configurtions / Debug Configurtions 的 Java Card Applet/Wallet/Package Upload 里,选中对应包的应用,点击 Edit,使 Application Specific Parameters = 123456,注意这里值可自由配置 |