gpt4 book ai didi

smartcard - Java 智能卡 IO 上出现奇怪的无效 CLA 命令 (6E 00)

转载 作者:行者123 更新时间:2023-12-02 23:03:40 25 4
gpt4 key购买 nike

我正在编写一个智能卡应用程序,在使用其 AID 成功选择该应用程序后,当它发送“获取处理选项”时

我收到 6E 00 作为响应 - 无效的 CLA 命令。这是发送命令和接收响应的代码的一部分:

ResponseAPDU rapdu = sendCommand(new byte[]{(byte)0x80, (byte)0xA8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0x83, (byte)0x00, (byte)0x00});

private ResponseAPDU sendCommand(byte[] apdu) throws CardException{
CommandAPDU capdu = new CommandAPDU(apdu);
ResponseAPDU rpd = channel.transmit(capdu);

return rpd;
}

我使用相同的命令使用 Jaccal 库来读取卡,它工作得很好,但只是 jaccal 不适合我的应用程序,因为它使用外部 dll 文件。我不知道为什么它会给我这样的回应。

最佳答案

许多博客/论坛条目讨论了这个问题:

就我而言,VISA 卡似乎是“宽容的”,但 MasterCards 却不是(6E 00)。请注意,与建议相反,升级到 Java 7 并没有为我解决这个问题。您可能正在查看 sun.security.smartcardio.t0GetResponse 解决方案并处理响应。

我执行了以下操作来使其正常工作:

System.setProperty("sun.security.smartcardio.t0GetResponse", "false");

使用 GET RESPONSE 处理响应(请参阅 EMV 4.3 第 1 册,第 9.3.1.3 节)。此链接也很有用:

关于smartcard - Java 智能卡 IO 上出现奇怪的无效 CLA 命令 (6E 00),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8435614/

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