1

据我所知,当JCRE接收到一个SELECT APDU 命令时,首先,它会在其注册表中搜索该命令指示的AID 。如果在其注册表中未找到 AID,则返回6A82. 但是如果JCRE找到它,它会调用被deselect()选择的小程序的方法,并且在收到一个 之后True,它会调用select()被请求的小程序的方法。如果它收到一个True从该方法接收到一个,则将该小程序标记为选中。

我的问题:

1- 如果第一个小程序(当前选定的小程序)FalseJCRE调用其deselect()方法时返回,会发生什么情况?小程序是否保留Selected

2- 如果第二个小程序(请求的小程序)FalseJCRE调用其select()方法时返回,会发生什么情况?在这种情况下,将选择哪一个小程序?默认是安全域?

4

1 回答 1

3

false如果JCRE 调用其deselect()方法时第一个小程序(当前选定的小程序)返回,会发生什么情况?小程序是否保持选中状态?

不,一旦Applet.deselect()方法被调用并返回,小程序将被取消选择。小程序无法阻止这种情况。Applet.deselect()没有返回值。即使在此方法中抛出异常也不会阻止小程序被取消选择。

false当 JCRE 调用它的select()方法时,如果第二个小程序(请求的小程序)返回会发生什么?在这种情况下将选择哪一个小程序?

由于之前的小程序已经被取消选择,新的小程序拒绝被选择,所以不会选择小程序。

于 2014-11-08T09:32:04.437 回答