Java Card_如何在卡上获得JavaCard版本

确定“白色”智能卡支持的JavaCard API版本的唯一全面证明方法是为每个JavaCard版本构建单独的CAP文件.

我建议你让每个CAP只包含一个扩展javacard.framework.Applet的简单类.您可能希望能够实际安装简单的applet并实际与它交换APDU以确保它实际工作;据我所知,即使并非所有导入都已解析,Java Card虚拟机实现也可以上传CAP文件,但如果您尝试实际使用API​​则应该失败.

生成CAP文件后,您可以通过解析生成的CAP文件中的COMPONENT_Import组件来验证它实际链接到预期的JavaCard API包. CAP文件格式在JavaCard虚拟机规范中描述,您想要的字段是导入的JavaCard包的package_info.

我已经包含了一个AID列表 – package_version_major.package_version_minor(package_name)信息.该列表可能不完整.

Java Card 2.1.1:A0000000620201 – 1.1(javacardx.crypto)

Java Card 2.1.1:A0000000620101 – 1.0(javacard.framework)

Java Card 2.1.1:A0000000620001 – 1.0(java.lang)

Java Card 2.1.1:A0000000620102 – 1.1(javacard.security)

Java Card 2.2.1:A0000000620201 – 1.2(javacardx.crypto)

Java Card 2.2.1:A0000000620101 – 1.2(javacard.framework)

Java Card 2.2.1:A0000000620002 – 1.0(java.io)

Java Card 2.2.1:A0000000620001 – 1.0(java.lang)

Java Card 2.2.1:A0000000620003 – 1.0(java.rmi)

Java Card 2.2.1:A0000000620102 – 1.2(javacard.security)

Java Card 2.2.1:A000000062010101 – 1.0(javacard.framework.service)

Java Card 2.2.2:A0000000620209 – 1.0(javacardx.apdu)

Java Card 2.2.2:A0000000620202 – 1.2(javacardx.biometry)

Java Card 2.2.2:A0000000620201 – 1.3(javacardx.crypto)

Java Card 2.2.2:A0000000620203 – 1.0(javacardx.external)

Java Card 2.2.2:A0000000620101 – 1.3(javacard.framework)

Java Card 2.2.2:A0000000620002 – 1.0(java.io)

Java Card 2.2.2:A0000000620001 – 1.0(java.lang)

Java Card 2.2.2:A000000062020802 – 1.0(javacardx.framework.math)

Java Card 2.2.2:A0000000620003 – 1.0(java.rmi)

Java Card 2.2.2:A0000000620102 – 1.3(javacard.security)

Java Card 2.2.2:A000000062010101 – 1.0(javacard.framework.service)

Java Card 2.2.2:A000000062020803 – 1.0(javacardx.framework.tlv)

Java Card 2.2.2:A000000062020801 – 1.0(javacardx.framework.util)

Java Card 3.0.1:A0000000620209 – 1.0(javacardx.apdu)

Java Card 3.0.1:A0000000620202 – 1.2(javacardx.biometry)

Java Card 3.0.1:A0000000620201 – 1.4(javacardx.crypto)

Java Card 3.0.1:A0000000620203 – 1.0(javacardx.external)

Java Card 3.0.1:A0000000620101 – 1.4(javacard.framework)

Java Card 3.0.1:A00000006202080101 – 1.0(javacardx.framework.util.intx)

Java Card 3.0.1:A0000000620002 – 1.0(java.io)

Java Card 3.0.1:A0000000620001 – 1.0(java.lang)

Java Card 3.0.1:A000000062020802 – 1.0(javacardx.framework.math)

Java Card 3.0.1:A0000000620003 – 1.0(java.rmi)

Java Card 3.0.1:A0000000620102 – 1.4(javacard.security)

Java Card 3.0.1:A000000062010101 – 1.0(javacard.framework.service)

Java Card 3.0.1:A000000062020803 – 1.0(javacardx.framework.tlv)

Java Card 3.0.1:A000000062020801 – 1.0(javacardx.framework.util)

Java Card 3.0.4:A0000000620209 – 1.0(javacardx.apdu)

Java Card 3.0.4:A0000000620202 – 1.2(javacardx.biometry)

Java Card 3.0.4:A0000000620201 – 1.4(javacardx.crypto)

Java Card 3.0.4:A0000000620203 – 1.0(javacardx.external)

Java Card 3.0.4:A0000000620101 – 1.5(javacard.framework)

Java Card 3.0.4:A00000006202080101 – 1.0(javacardx.framework.util.intx)

Java Card 3.0.4:A0000000620002 – 1.0(java.io)

Java Card 3.0.4:A0000000620001 – 1.0(java.lang)

Java Card 3.0.4:A000000062020802 – 1.0(javacardx.framework.math)

Java Card 3.0.4:A0000000620003 – 1.0(java.rmi)

Java Card 3.0.4:A0000000620102 – 1.5(javacard.security)

Java Card 3.0.4:A000000062010101 – 1.0(javacard.framework.service)

Java Card 3.0.4:A000000062020804 – 1.0(javacardx.framework.string)

Java Card 3.0.4:A000000062020803 – 1.0(javacardx.framework.tlv)

Java Card 3.0.4:A000000062020801 – 1.0(javacardx.framework.util)

考虑到上述信息,我可以指出Michael Roland的答案有点误导.调用JCSystem.getVersion()无助于确定是否支持Java Card版本;如果你到了可以实际调用API的程度,那么你已经确定该版本是受支持的.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值