繁体   English   中英

在JavaCard上安装扩展小程序

[英]Install extended applet on JavaCard

如何将扩展的Java卡小程序部署到卡上? 到目前为止,我只处理经典的applet,并在OS X下将它们与GlobalPlatformPro一起安装。

但是,当我尝试安装扩展小程序(使用gp -install KCIdentity.eap )时,失败并显示以下消息:

Exception in thread "main" java.lang.RuntimeException: Could not figure out the package name of the applet!
at pro.javacard.gp.CapFile.<init>(CapFile.java:94)
at pro.javacard.gp.CapFile.<init>(CapFile.java:65)
at pro.javacard.gp.GPTool.main(GPTool.java:441)

有谁知道如何将小程序部署到卡上(理想情况下使用OS X,但也可以使用Debian或Windows)?

编辑:链接到GlobalPlatformPro: https : //github.com/martinpaljak/GlobalPlatformPro

更新:与扩展的APDU无关,而与Java-VM版本无关。 经典小程序使用版本2.x,而扩展小程序使用版本3.y。 NetBeans将扩展的applet打包在一个似乎不受支持的* .eap文件中。但是,我将查看是否可以将其打包在一个* .cap文件中。 重命名不起作用...

我猜用“扩展小程序”指的是扩展长度APDU的小程序。 要使用扩展长度的APDU, Applet必须在标准javacard包中实现ExtendedLength接口。 否则,小程序将以0x6700返回扩展长度APDU。

但是,GP说无法确定软件包名称,因此我想您没有正确转换/编译CAP文件。 因此,您应该查看编译过程。

我想.eap是一个错字? 否则,请将其更改为.cap ,这是将小程序下载到卡上的标准格式。

编辑:在评论中回答。

编辑:原来的原因是该卡不支持所连接的版本。 Javacard3分为经典版(基本上是Javacard 2.2.2 API的更新)和连接版(新的机制,例如Webserver applet等)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM