Eclipse 不允许使用命令-安装小程序时不满足使用条件

Eclipse 不允许使用命令-安装小程序时不满足使用条件,eclipse,smartcard,javacard,apdu,globalplatform,Eclipse,Smartcard,Javacard,Apdu,Globalplatform,我试图在Java卡上安装一个简单的小程序,但出现了错误: load返回0x80206985命令不允许-安装小程序时不满足使用条件 代码似乎在Eclipse的模拟器上运行,但是当我想要转换它并将CAP文件发送到卡时,我得到了上面的错误。我使用GPShell安装小程序。下面列出了安装程序脚本 mode_201 gemXpressoPro enable_trace enable_timer establish_context card_connect select -AID A000000018434

我试图在Java卡上安装一个简单的小程序,但出现了错误:

load返回0x80206985命令不允许-安装小程序时不满足使用条件

代码似乎在Eclipse的模拟器上运行,但是当我想要转换它并将CAP文件发送到卡时,我得到了上面的错误。我使用GPShell安装小程序。下面列出了安装程序脚本

mode_201
gemXpressoPro
enable_trace
enable_timer
establish_context
card_connect
select -AID A000000018434D00
open_sc -security 3 -keyind 0 -keyver 0 -key 47454d5850524553534f53414d504c45
install -file sid.cap 
card_disconnect
release_context
Java卡的SDK版本为2.2.2,转换时我使用Eclipse-JCDE0.2。我在尝试安装任何其他小程序时也遇到了同样的错误。我还尝试将Java Card SDK降级为2.1.1版,但这并没有解决我的问题。我在下面附上了问题的截图


我通过将Java卡2.2.2降级到Java卡2.2.1,成功地解决了这个问题。这似乎是Java Card SDK和我使用的GpShell版本之间的兼容性问题。

上载小程序代码(LOAD命令)时收到的错误表明卡上验证过程在小程序代码库中发现了它不接受的内容(例如,使用不存在的框架类、使用不存在的方法、无效指令等)


这也符合您的经验,即从Java Card SDK 2.2.2降级到Java Card SDK 2.2.1是有效的。顺便说一句,GPShell并不关心Java卡的版本,而是该卡产生了该错误。

您确定您的智能卡是Gemalto卡吗?此错误表示您的身份验证密钥不正确(您的卡不是Gemalto卡,或身份验证密钥已更改)或您的卡已锁定(错误尝试了10次身份验证)。无论如何,GPShell是一个旧工具,我建议您改用。是的,我确定。实际上我成功地在卡上安装了helloworld.cap。我生成.cap的方式似乎是错误的啊,也许吧!我对状态词的理解是错误的。
0x69 82
用于错误的身份验证。您的是
0x6985
。您确定您的卡支持
CAP
文件的版本?卡上可能安装了另一个具有相同辅助功能的软件包/实例。您可以使用命令进行检查。您是否作为默认选择安装,并且卡上已经有一个默认选择的小程序?