制作2张小卡片Java卡进行通信

时间:2015-03-10 13:39:30

标签: applet smartcard channel javacard

我在同一张智能卡上有2张小卡片Java Card ,我想与之沟通。

我可以选择一个applet然后发送相应的APDU,然后取消选择它并选择另一个等等......我想知道是否可以这样做 更恰当  有逻辑渠道吗?我的意思是使用一种方法可以让我不为每个APDU命令选择/取消选择每个applet?

提前谢谢你:)

2 个答案:

答案 0 :(得分:5)

是的,这是可能的。

您需要一张支持其他逻辑通道的卡。在这种情况下,您可以同时选择多个小程序。(每个通道一个小程序)幸运的是,当前的卡支持一些额外的逻辑通道。

但请记住,如果您想同时选择(至少)单个包的两个小程序,则必须在两个小程序中(以及该程序包的所有其他小程序中)实现MultiSelectable接口。

如果您的小程序不是来自单个程序包,则不需要实现此接口。

之后,您可以使用 MANAGE CHANNELS 命令打开2个逻辑通道,并在通道0中选择 App1 ,在通道1中选择 App2 (例如)。对于下一个命令,使用该APDU命令的CLA部分中的低半字节指定哪个通道(以及哪个applet)是传入命令的目标。

请注意, SELECT APDU 命令是 MANAGE CHANNELS-Open 命令的替代方法。(所以你实际上甚至不需要使用 MANAGE CHANNELS 命令)

答案 1 :(得分:2)

您应该阅读更多信息:Applet防火墙,可共享对象和小程序间通信。这些是(也是但不仅仅)为此目的而设计的标准Javacard功能。