我有一个包含我的applet的双界面Java卡 . 我希望对来自不同接口的单个命令有两个不同的APDU响应 .
例如,当从接触界面接收到命令时,我想用 00 10 00 00 APDU命令用"Contact"响应,并且当从非接触式接口接收到该命令时,响应"ContactLess" .
00 10 00 00
那么,Java Card API或Global Platform API中是否有任何方法可以检测传入命令的接口?
在 javacard.framework.APDU 类中有一个名为 getProtocol() 的方法:
javacard.framework.APDU
getProtocol()
public static byte getProtocol()返回ISO 7816传输协议类型,低半字节中的T = 1或T = 0以及正在使用的高半字节中的传输介质 .
接口编码在返回字节的高半字节中:
final byte transportMedia = (byte) (APDU.getProtocol() & APDU.PROTOCOL_MEDIA_MASK); final boolean isContactless = (transportMedia == APDU.PROTOCOL_MEDIA_CONTACTLESS_TYPE_A) || (transportMedia == APDU.PROTOCOL_MEDIA_CONTACTLESS_TYPE_B);
1 回答
在
javacard.framework.APDU
类中有一个名为getProtocol()
的方法:接口编码在返回字节的高半字节中: