リセット後にデフォルトで選択されたアプリケーションが RESET 特権のアプリケーションを持っています。
私のアプリケーションには、カードに対して行われた要求が何であったかを正確に伝えるロギング メカニズムがあります。現在の状態に応じて、いくつかの動的な応答があります。カードスパイで動作確認もしました。
アプリケーションに属さず、カード上の他のアプリケーションと一致しない SELECT を含め、すべての APDU がアプリケーションに正しく転送されています。
ただし、これは、SELECT DF Next Occurrence (A4 04 02) を受信した場合には発生しません。代わりに、次の SW がカードから返されます: 6A85-条件が満たされていません。
これで、カードが何をしているのか理解できました。つまり、指定された同じ AID で現在選択されているアプリケーションがあるかどうかを確認し、同じ ID を持つ次のアプリケーションを選択しようとします。(これは当てはまりません。カードに競合する AID はありません)。
私の質問は次のとおりです。一致するアプリケーションがインストールされていない場合、カード OS はこの APDU を転送すべきではありませんか? これは、アプリケーションが既に選択されている場合の選択の想定される動作です。
別の質問: これを修正/回避する方法はありますか、それとも OS のバグである可能性があると思いますか? それとも、これはまったく当てはまりませんか?
例:
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.
NXP JCOP3 カードを使用しています。
前もって感謝します。