命令APDU 包括头和主体(这可以在上面的图中看到)。头包括CLA,INS,P1 和P2 域。同T0 协议
一样,CLA 和INS 说明了应用的分类和指令。P1 和P2 用来详细说明具体指令,并由每一条[CLA,INS]
指令给出具体定义。APDU 的主体的长度可以改变,它可以作为命令的一部分传送数据到卡的APDU
处理器上,也可以用于传达一个从卡到阅读器的响应。Lc 域说明了作为指令一部分的传送到卡上的字
节数。也就是数据域的长度。数据域包括一定要传送到卡上的信息。该信息允许APDU 处理器执行
APDU 中说明的命令。Le 域以响应APDU 形式说明了返回到阅读器的字节数量。
APDU 的主体以四种形式存在:
情况1:没有数据发送或从卡上接收,所以APDU 只包括头。
情况2:没有数据传送到卡上,但有数据从卡上返回。APDU 的主体上只包含非空Le 域。
情况3:数据传送到卡上,但没有数据从卡上返回。APDU 的主体包括Lc 和数据域。
情况4:数据传送到卡上,同时有数据作为命令的结果从卡上返回。APDU 的主体包括Lc,数据和Le
域。

响应APDU 的结构比命令APDU 的结构简单的多。它包括主体和尾部。主体可以是null 也可以
包括数据域--------决定于具体命令。数据域的长度由相应的命令APDU 的Le 域决定。尾部包括两个
状态信息域,分别为SW1 和SW2。这些域返回状态码,一个字节用来说明错误种类。另一个字节用来说
明具体的命令状态或错误标志。

各个字段的详细含义可参见7816协议。

7816的报文结构——APDU的更多相关文章

  1. 7816的报文结构APDU

    命令APDU 包括头和主体(这可以在上面的图中看到).头包括CLA,INS,P1 和P2 域.同T0 协议一样,CLA 和INS 说明了应用的分类和指令.P1 和P2 用来详细说明具体指令,并由每一条 ...

  2. HTTP协议报文结构及示例

    HTTP基本架构 下面我们用一张简单的流程图来展示HTTP协议基本架构,以便大家先有个基本的了解. 9.png Web Client可以是浏览器.搜索引擎.机器人等等一切基于HTTP协议发起http请 ...

  3. modbus tcp数据报文结构

    modbus tcp数据报文结构 请求:00 00 00 00 00 06 09 03 00 00 00 01 响应:00 00 00 00 00 05 09 03 02 12 34 一次modbus ...

  4. 《图解HTTP》读书笔记(五:HTTP报文结构)

    用于 HTTP 协议交互的信息被称为 HTTP 报文. 请求端(客户端) 的HTTP 报文叫做请求报文, 响应端(服务器端) 的叫做响应报文.HTTP 报文本身是由多行(用 CR+LF 作换行符) 数 ...

  5. HTTP 协议基础概念和报文结构

    基础概念 1.WWW(World Wide Web,万维网)构建技术有3项: (1)把SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文 ...

  6. HTTP 请求/响应报文结构

    请求报文和响应报文都是由以下4部分组成: 1.请求行/响应行 2.请求头/响应头 3.空行 4.消息主体(请求体/响应体) 请求报文结构 请求行 格式为:Method Request-URI HTTP ...

  7. http的报文结构和状态码的含义

    HTTP响应报文解剖 响应报文结构 HTTP的响应报文也由三部分组成(响应行+响应头+响应体): 以下是一个实际的HTTP响应报文: ①报文协议及版本: ②状态码及状态描述: ③响应报文头,也是由多个 ...

  8. HTTP协议图--HTTP 协议报文结构

    1.HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文.请求端(客户端)的 HTTP 报文叫做请求报文:响应端(服务器端)的叫做响应报文.HTTP 报文本身是由多行(用 CR[car ...

  9. 网络应用(6):http报文结构与curl的使用

    http是一个协议,协议就是约定.规定,先不管为什么这么约定有什么高深的东西,为了解决具体问题,我们先要能使用协议,理解协议中对我们有用的那部分数据,是的,我们不是研究生,更不是纯研究,所有的研究都要 ...

随机推荐

  1. yum php56

    美国时间2014年11月13日,PHP开发团队,在「PHP 5.6.3 is available|PHP: Hypertext Preprocessor」上公布了PHP5.6系的最新版本「PHP 5. ...

  2. VS2008 自动化编译脚本

    可以通过调用MSBuild来使VS2008进行自动化编译. 1.新建文本文件,后缀名改为bat 2.文件内加上: ;转到MSBuild.exe路径 c: cd\ cd C:\Windows\Micro ...

  3. (转)解决JSP路径问题的方法(jsp文件开头path, basePath作用)

    在JSP中的如果使用 "相对路径"  则有可能会出现问题. 因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源. ...

  4. linux下mysql忘记root密码怎么办

    Linux下MySQL忘记root密码怎么办? Linux下MySQL忘记root密码怎么办? 1. 修改MySQL配置文件 默认MySQL的配置文件为/etc/my.cnf,在[mysqld]下面添 ...

  5. php 日期 - 计算2个日期的差值

    /** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strto ...

  6. 安装ecshop出错

    在安装Ecshop的时候,遇到两个问题: 1.Strict Standards: Non-static method cls_image::gd_version() should not be cal ...

  7. html5 OPOA

    1.0 one page one application     一个应用只有一个页面,对用户的表现来说的. 2.0 起源于web的MIS系统     MIS(管理信息系统) 3.0 银行客户端 4. ...

  8. Hibernate防止SQL注入

    如果在查询字段中输入单引号"'",则会报错,这是因为输入的单引号和其他的sql组合在一起编程了一个新的sql,实际上这就是SQL注入漏洞,后来我在前台和后台都对输入的字符进行了判断 ...

  9. Aix_bugzilla

    原创作品,转载请注明出处! Bugzilla在AIX上部署,网上看到的不多.我耗费了很长时间才算部署完,记录在这里,以防忘记了. 一.    下载安装文件或源代码 1. 下载Bugzilla 3.6. ...

  10. JavaScript单线程

    首先浏览器的js引擎是单线程的,执行一个耗时操作必定阻碍线程后续代码的执行(比如等待网络请求的响应).一些语言采用了开一个子线程并把耗时操作放到子线程去执行的办法解决了这个问题.js引擎本身不支持多线 ...