我有一个应用程序,RESET Privilege是重置后默认选择的应用程序 .
我的应用程序有一个日志记录机制,可以准确地告诉我对卡的请求是什么 . 根据当前状态,我有几个动态响应 . 我还用卡片 Spy 检查了这种行为 .
所有APDU都正确地转发到我的应用程序,包括那些不属于它的SELECT,并且与卡上的任何其他应用程序都不匹配 .
但是,当接收SELECT DF下一次出现时(A4 04 02),这不会发生 . 相反,卡返回以下SW:6A85-条件不满意 .
现在..我理解卡可能正在做什么,这是检查当前是否选择了具有相同AID的应用程序,并尝试选择具有相同ID的下一个应用程序 . (事实并非如此 . 卡上没有冲突的AID) .
My question is :如果没有安装匹配的应用程序,卡OS是否应该转发此APDU?对于已经选择了应用程序的选择,这是假定的行为 .
Another question :有没有办法解决/规避这个问题,或者您认为这可能是操作系统错误?或者根本不是这样的情况?
例:
Card Reset
-> 00 A4 04 00 07 AIDx7..
<- My Applet 90 00
-> 00 A4 04 02 07 AIDx7...
<- Card 6A 85
Moves on to other selects
My applet is still selected.
我正在使用恩智浦JCOP3卡 .
提前致谢 .
1 回答
引用GlobalPlatform Card Specification Version 2.3,第68页:
....一些段落跳过....
....几个案例跳过....
这与您描述的行为完全匹配(需要说明您的JCOP可能受某些早期版本的GlobalPlatform卡规范的约束) .
对于第二个问题:
我的赌注是没有半简单的方法可以使用你的特定卡来修复/规避这个问题 .
还有其他卡的工作方式不同 - 使用哪种卡取决于您的用例 .
祝好运!