应答APDU,是卡发送的对命令APDU的答复,由一个可选的本体和一个强制性的尾标组成,如图1所示。本体 含有数据字段,其长度由先前的命令APDU中的h字节规定,数据字段的长度可以为零,而不管命令APDU中的 规定值,这是由于智能卡出现了一个错误或不正确的参数而结束对命令的处理,并由尾标中的两个单字节的 状态字SW1和SW2来表明。

图1 应答APDU的结构
卡必须始终在对命令的应答中发送一尾标。它们也被称为回送代码,两字节的SW1和SW2,是对命令应答的 编码。例如,回送代码‘9000’的含义是命令被完整而成功地执行。应答APDU可分为两种类型,如图2狃所 示。而图3给出了超过50个不同的代码的分类方案。

图2 应答APDU的两种类型

图3 ISO/IEC 7816-4标准规定的回送代码分类方案(回送代码‘63XX’和‘65XX’表明在EEPROM中的数据已经改变,而其余的‘α’代码则表示这种情况并未发生)
如果在执行了一条命令后发送回来的回送代码是‘63X’或‘65XX’,其含义为卡的非易失存储器(通常是 EEPROM)已经被改变,如果使用的是以‘6X’开头的其他代码被送回,命令执行的结束没有非易失存储器改变的因素。
应当注意的是虽然有对回送代码的标准,但很多应用采取了非标准的编码。惟一的例外是编码‘9000’,它几乎通用于成功执行的指示。对于所有其他代码,总是需要去查阅其根本的规范以便弄清楚它们的含义。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。