1

我正在尝试在真正的 javacard 上构建和安装之前模拟OpenPGPIsoApplet 。我希望我的模拟环境尽可能与实际卡匹配。

这是我在 ATR 数据库中的卡片规格。它遵循 Java Card 2.2.2 和 Global Platform 2.1.1 规范。

我按照OpenSC GitHub 上的说明来模拟支持 vpcsd 的卡。这些说明以内置的jcardsim-3.0.4-SNAPSHOT.jar.

  1. 如何在jcardsim2.2.2 版中构建支持 virtualcard/vpcsd 的版本?

  2. 在构建 IsoApplet 时如何指定 Java Card 版本ant-javacard?我的 JDK 会影响我的选择吗?

我的环境是

Linux 5.3.0-40-generic #32-Ubuntu x86_64 GNU/Linux
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)
javac 1.8.0_242

我对 ant-javacard wiki 的版本控制页面有点困惑:https ://github.com/martinpaljak/ant-javacard/wiki/Version-compatibility

  1. 在什么情况下,我会使用 JDK 编译 .java 文件并在获取类文件时以不同的 JRE 版本为目标,以便使用转换器转换为特定的 JCDK 版本?我理解使用高 JDK 来获得更好的源代码功能,然后为特定的 JRE 进行编译,但当有针对 JCRE 的额外步骤时则不然。
4

1 回答 1

2

用于targetsdk指示目标平台的 SDK(或低于目标平台的任何东西)。ant-javacard 根据使用的 SDK(jckit参数)自动设置目标类文件版本,此时应该是 3.0.5。

于 2020-03-04T10:15:40.217 回答