NFC SWP 小程序选择 returns 6999

NFC SWP applet selection returns 6999

我的 SIM 卡上安装了一个简单的 JavaCard 小程序。我尝试使用 Omnikey 5121 CL reader 和支持 NFC 的 Sony Xperia L 通过 NFC/SWP(单线协议)与我的小程序通信。

问题是我无法 select 小程序 - 作为状态词,我得到 6999。 LED 灯亮了,所以我想 reader 和 SIM 卡之间有一些通信。而且,我也不能select我的安全域。

然而,当我将 SIM 卡放入标准接触式智能卡时 reader,一切正常。

Android OS、SIM 卡、NFC 调制解调器等是否有任何额外的配置。我必须在通过 NFC 与 SIM 卡通信之前进行设置吗?有什么想法吗?

更多信息:

联系方式接入的SIM的ATR:

3B9F96C00A3FC6A08031E073FE211F65D001900F3B810FE6

以非接触方式通过 NFC 访问的 SIM 卡的 ATR(由 PCSC 从 ATS 生成):

3B8880010000000000817000F8

我为 INSTALL APDU 安装:(终于成功了!)

80E6040C32 //CLA INS P1 P2 Lc
0CF0AAAAAAAAAAAAAAAABBBBBB // AIDs
09F0AAAAAAAAAAAAAAAA
09F0AAAAAAAAAAAAAAAA
01
 00 //privileges
0B //length of parameters
 EF07 //system parameters
  A005A5038201FF
 C900 //applet parameters
00

收到响应 SELECT(通过 AID)命令的状态代码 6999 清楚地表明该小程序不是 found/not 可选择的。如果小程序已经安装并且可以通过 UICC/SIM 卡的接触界面选择(使用相同的 AID),那么它可能无法通过 SWP(非接触)界面选择。通常,安全元素允许针对特定界面选择性地 enable/disable applet(除此之外,applet 可以检测到它们是通过哪个界面被选中的,并可以做出相应的反应)。

小程序通常需要通过在 INSTALL(对于 MAKE SELECTABLE)命令中设置非接触式协议参数(或稍后通过进行注册表更新)来在非接触式界面上明确选择。有关详细信息,请参阅全球平台卡规范的修正案 C。

顺便说一句。无法通过非接触式接口选择安全域对于 SIM 卡来说并不罕见。出于安全原因,卡片管理通常仅限于接触界面。 (通过非接触式界面进行卡管理通常不会在生产环境中使用。)