JAVA卡工作原理
一、什么是JAVA卡?
JAVA卡是一种可以运行JAVA程序的智能卡。该智能卡由CPU、EEPROM(存储)、RAM(内存)、加密协处理等组成,很像一台小型的PC,主要用于安全服务场景。
二、工作模型
JAVA卡上电以后系统就会自动运行,主机通过发送APDU访问JAVA卡的功能。JAVA卡只接受2种APDU:选择应用APDU(系统实现),应用功能APDU(应用实现)。
典型工作流:
1、JAVA卡上电
2、发送APDU选择应用1 –> JAVA卡调度应用1 –> 发送功能APDU -> 应用1响应功能APDU
3、发送APDU选择应用2 –> JAVA卡调度应用2 –> 发送功能APDU -> 应用2响应功能APDU
4、JAVA卡下电
JAVA卡虚拟机:解释执行JAVA字节码指令。
JAVA卡标准API:是J2SE的一个子集,详情请参考下面。
1、java.lang,定义Object和Throwable等基础类
2、javacard.framework,核心框架类(应用框架、消息传输、瞬时内存、事务处理等)
3、javacard.security,定义安全框架基础类
4、javacardx.crypto,定义了Cipher和KeyEncryption等基础类
5、org. globalplatform,GP规范的应用编程接口
JAVA卡私有API:卡商自定义的API,提供提供附加实用功能。
JAVA卡应用:系统自带的应用或用户编写的应用,系统自带的应用必须有Card Manager(AID=A000000003000000),负责上传应用、安装应用、删除应用、其他管理功能等。
APDU:定义了主机和JAVA卡之间交互的数据格式,JAVA卡由process方法处理APDU。
三、编写、生成JAVA卡应用
1、利用JAVA卡的API编写JAVA应用代码。
2、编译JAVA应用代码为Class字节码(注意必须使用JDK1.5编译,或在eclipse中设置,因为转换工具只支持这个版本)。
3、利用converter.bat(参见java_card_kit-2_2_2使用介绍,JCOP支持自动生成)将Class文件和Export文件(链接信息)转换为CAP应用文件。
说明:因为JAVA卡平台CPU主频比较低,存储和内存都很受限,所以要转换为CAP文件提高资源效率。
-
rfid标签是如何实现车辆管理的?[2020-03-16]
-
射频识别-通讯协议概述[2020-05-25]
-
小『标签』,大作用!智能健康标签和包装如何成为抗疫利器[2020-06-11]
-
超高频RFID射频识别技术常见的三种应用[2020-07-27]
-
各种电子卡片的原理[2020-06-02]
-
基于RFID标签的数据完整性与安全性解析[2020-06-17]
-
RFID专题:29 阅读器功能和架构、分类[2022-04-05]
-
RFID技术助力城市管理,河南宁陵推动 “物联网+”建设[2020-12-10]
-
JavaCard应用程序开发三部曲 - 小应用程序[2020-12-05]
-
Oracle在Java Card 3.1中增强了对物联网的支持[2020-04-20]
-
NXP JCOP系列芯片JAVA卡CPU卡参数与分类说明[2020-04-20]
-
Java Card_kit 2.2.2使用介绍[2020-04-22]