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-06-01]
-
后疫情时代-RFID助力医院的智慧化建设稳步推进[2020-04-20]
-
疫情之下,RFID助力劳动密集型企业仓储解放了人工[2020-04-20]
-
疫情下非接触经济引发爆点,物联网危与机的博弈[2020-04-20]
-
NFC等不等于RFID?NFC的分类有哪些?[2020-04-20]
-
rfid受到金属干扰无法读取[2020-06-18]
-
研究发现:新冠病毒疫情对未来网络连接产生巨大影响[2020-04-29]
-
RFID专题:49 智能资产管理[2022-10-18]
-
PBOC规范下的java卡介绍[2020-06-19]
-
java卡几个主要工具的使用[2020-05-27]
-
Java Card体系结构[2020-03-30]
-
JavaCard 名词普及[2020-04-21]