原创 应用解锁命令(APPLICATION UNBLOCK)

2008-10-20 13:37 3889 5 5 分类: 软件与OS
1、命令功能描述

    该命令用于恢复当前应用。

    当本命令成功执行以后,执行APPLICATION BLOCK命令临时锁定的应用各种使用限制将被解除。

  2、命令报文格式

    命令的APDU内容如下所示:

      代码              值
       CLA                 0x84
       INS                 0x18
       P1                  0x00
       P2                  0x00
       Lc                  0x04
       Data                MAC
       Le                  不存在

    其中:  

    * 本命令数据域不包含任何数据。
    * 在数据域中包含有报文鉴别码MAC,MAC的计算通常用应用DF的主控密钥或者专用的密钥计算得到。

  3、响应报文数据

    响应报文数据域不存在。

  4、响应报文状态码

    此命令执行成功的状态码为0x9000。

    对于异常情况,IC卡可能回送的错误码如下所示:

       SW1     SW2      含义
       0x64     0x00        标志状态位没有改变
       0x65     0x81        存储空间错误
       0x67     0x00        Lc错误
       0x69     0x82        安全条件不满足
       0x69     0x87        MAC丢失
       0x69     0x88        MAC错误
       0x6A     0x86        P1、P2不正确
       0x6D     0x00        INS错误
       0x6E     0x00        CLA错误
       0x93     0x03        应用已经被永久锁定

  5、命令实现的其他要求  

    如果实现了APPLICATION BLOCK命令对应用执行临时锁定操作的话,必须相对应的实现本命令。

    在本命令中计算MAC所采用的密钥和APPLICATION BLOCK命令中计算MAC的密钥一般选用同一密钥。

  6、命令实现设计

    在本命令执行之前,需要验证MAC的有效性。

    在执行应用解锁操作时,要检查DF文件描述块中的状态字。

    * 如果不为临时锁定,将不进行任何操作,返回相应的状态码;

    * 如果为临时锁定的话,将其改为支持状态,并且同时修改当前应用的状态标志,后续命令的执行操作马上生效。

  7、命令使用示例

   (1)预设环境

    假设已经选定的应用为应用锁定示例中被临时锁定的应用。

   (2)命令报文

    解锁当前应用的APDU:

    84 18 00 00 04 11 22 33 44

    其中:

    * 84 表示APPLICATION UNBLOCK命令的CLA。
    * 18 表示APPLICATION UNBLOCK命令的INS。
    * 00 表示APPLICATION UNBLOCK命令的P1。
    * 00 表示APPLICATION UNBLOCK命令的P2。
    * 04 表示APPLICATION UNBLOCK命令的Lc,即数据域的长度。
    * 11223344 表示APPLICATION UNBLOCK命令的MAC。

   (3)APPLICATION UNBLOCK 响应报文

    卡片处理以后,APPLICATION UNBLOCK 没有响应报文。

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条