编程语言
首页 > 编程语言> > Android-NFC SWP小程序选择返回6999

Android-NFC SWP小程序选择返回6999

作者:互联网

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

问题是我无法选择小程序-作为状态字,我得到6999.LED灯亮起,所以我认为读取器和SIM卡之间存在某些通信.而且,我也不能选择我的安全域.

但是,当我将SIM卡放入标准的接触式智能卡读取器中时,一切正常.

是否需要对Android OS,SIM卡,NFC调制解调器等进行其他配置.在通过NFC与SIM卡通信之前,我必须进行设置?有任何想法吗?

更多信息:

通过联系方式访问SIM卡的ATR:

3B9F96C00A3FC6A08031E073FE211F65D001900F3B810FE6

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

3B8880010000000000817000F8

我的INSTALL for 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时,将清楚地表明未找到/无法选择该applet.如果已安装小程序并且可以通过UICC / SIM卡的接触界面选择该小程序(使用相同的AID),则可能无法通过SWP(非接触式)接口选择该小程序.通常,安全元素允许有选择地启用/禁用特定接口的applet(除此之外,applet可以检测在哪个接口上选择了applet并可以做出相应的反应).

通常需要通过在INSTALL(用于MAKE SELECTABLE)命令中设置非接触式协议参数(或稍后通过注册表更新)来使非接触式界面上的Applet显式可选.有关更多详细信息,请参阅《全球平台卡规范》的修订C.

顺便说一句.无法通过非接触式界面选择的安全域对于SIM卡而言并不罕见.出于安全原因,卡管理通常仅限于联系界面. (无论如何,在生产环境中通常不会使用非接触式界面进行卡管理.)

标签:smartcard,sim-card,nfc,javacard,android
来源: https://codeday.me/bug/20191120/2042596.html