命令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. Android Intent传递数据

    刚开始看郭大神的<>,实现以下里面的一些例子.Intent传递数据. 我们利用显示的方式进行Intent的启动. 1.启动intent并输入数据. Intent intent=new In ...

  2. SharePreferences类的使用

    简述:以key-value键值对的方式将数据保存到Android自身定义的文件夹(/data/data/<package name>/shared_prefs  root才可见的文件夹)中 ...

  3. 关于python命令在editor里编写与在interpreter里的编写的不同之处

    关于python命令在editor里编写与在interpreter里的编写的不同之处 其实用这个标题,我心里还是有点胆怯的.作为一个python入门的小白,不,编程入门的小白,我还不太确定我对edit ...

  4. shell提示符显示git当前分支

    编辑/etc/profile或者~/.bashrc 在行末添加如下内容 # 获取git当前分支 git_branch() { branch='' cd $PWD if [ -d '.git' ]; t ...

  5. jQuery学习-事件之绑定事件(二)

    在上一篇<jQuery学习-事件之绑定事件(一)>我们了解了jQuery的add方法,今天我们来学习下dispatch方法: dispatch: function( event ) {   ...

  6. C# 堆栈的数据结构 (二)

    堆栈是一种常用的数据结构,并且是线性表操作的子集,即操作受限的线性表.因此需要用到Clist 线性表类 public class CStack { private Clist m_List;//创建链 ...

  7. firemonkey打开子窗体(匿名回调函数)

    procedure TForm1.Button1Click(Sender: TObject);varChildForm: TForm2;beginChildForm := TForm2.Create( ...

  8. 2014第11周四Eclipse开发问题记

    今天开发中eclipse工具使用上又学到几点: 1.去除代码空行:在Find输入框中输入:^\s*\n然后替换为空即可: 2.eclipse插件的加载:对于单一个jar文件的插件,直接放在plugin ...

  9. 通过属性集名称获取属性集id

    Mage::getModel('eav/entity_attribute_set')->load('属性集名称', 'attribute_set_name')->getAttributeS ...

  10. 产品专家Marty Cagan:不做仅仅会编码的人

    Marty Cagan是享有世界声誉的产品管理专家,曾担任Netscape副总裁.eBay产品管理及设计高级副总裁. 近日,记者在"PM-China首届产品经理高峰论坛"上对他做了 ...