首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java Card Applet内部执行APDU命令吗?

在Java Card Applet内部执行APDU命令吗?
EN

Stack Overflow用户
提问于 2018-04-18 00:27:56
回答 3查看 374关注 0票数 2

我们知道Applet.process()方法在APDU请求和它的APDU响应之间调用,即它可以读取一些incomiung APDU并发送一些输出作为响应。

但是,Applet能发送自己的APDU命令并得到响应吗?即:

代码语言:javascript
复制
public void process(APDU apdu)
{
...
APDU resp = SomeAPI.someMethod("00A40101FF...");
...
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-18 12:13:45

但是,Applet能发送自己的APDU命令并得到响应吗?

简单的回答是NO,您不能为另一个applet发送APDU,因为您没有访问命令dispatcher的权限。但有一种方法可以做到这一点,请阅读下面的文章。

公开无效程序(Apdu apdu) {.APDU resp =SomeAPI.someMethod(“00A401FF.”);.}

在java卡applet中,这样的操作是不可能的(直到最新版本3.0.5u),因为这里存储的是APDU对象的引用,而临时JCRE入口点对象及其引用不能存储。

现在,要实现您想要的功能。使用可共享接口对象。显然,您需要在这里修改目标applet (您想要调用它)。通过共享对象调用applet将为您完成上下文切换,然后您可以返回到applet。

参考http://www.oracle.com/technetwork/java/javacard/specs-jsp-136430.html

票数 2
EN

Stack Overflow用户

发布于 2018-04-30 02:19:26

不,它不能,

您无法访问命令调度程序。

票数 2
EN

Stack Overflow用户

发布于 2018-04-18 08:10:07

我假设,您并不打算通过串行接口与目标Applet通信,而是希望“执行与接收此APDU时相同的功能”。

我有一些疑问,是否存在这样的接口,并且由于这些原因看不到用例:

  • 在javacard环境中,applet是自治的构建块。
  • 如果您打算在同一个Applet中调用,应该有更方便的可能性。
  • 如果目标是不同的applet :向和向后的隐含切换不符合当前选择的applet的APDU概念。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49889334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档