gpt4 book ai didi

javacard - 如何检测传入命令的接口(interface)?

转载 作者:行者123 更新时间:2023-12-04 00:11:32 28 4
gpt4 key购买 nike

我有一个包含我的小程序的双接口(interface) Java 卡。我想对来自不同接口(interface)的单个​​命令有两个不同的 APDU 响应。

例如,当从接触界面接收到命令时,我想用“Contact”响应 00 10 00 00 APDU 命令,当从非接触界面接收到该命令时,我想响应“ContactLess” .

那么,Java Card API 或Global Platform API 中是否有任何方法来检测传入命令的接口(interface)?

最佳答案

javacard.framework.APDU 类中有一个名为getProtocol() 的方法:

public static byte getProtocol()

Returns the ISO 7816 transport protocol type, T=1 or T=0 in the low nibble and the transport media in the upper nibble in use.

接口(interface)在返回字节的高半字节中编码:

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);

关于javacard - 如何检测传入命令的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34618848/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com