Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7565901
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: 嵌入式

2012-12-05 17:12:28

1. 命令
1.1 报文结构

为了运行一个应用,在终端上还要实现一个附加的应用协议层。

应用层发出的命令报文和卡回送到应用层的应答报文统称为应用协议数据单元(APDU)。应答是和命令相对应的,通常被称为APDU命令-应答对。

1.1.1 命令APDU格式

命令APDU由一个4字节长的必备头后跟一个变长的条件体组成,见图12

CLA

INS

P1

P2

Lc

Data

Le

必备头

条件体

图 12 - 命令 APDU 结构

命令APDU报文的内容见表30

代码

描述

长度

CLA

命令类别

1

INS

指令代码

1

P1

指令参数1

1

P2

指令参数2

1

Lc

命令数据域中存在的字节数

01

Data

命令发送的数据位串(=Lc)

变长

Le

应答数据域中期望的最大数据字节数

01

1.1.2 应答APDU格式

应答APDU格式由一个变长的条件体和后随两字节长的必备尾组成,见图13

Data

SW1

SW2

条件体

必备尾

图 13 – 应答 APDU 结构

应答APDU中接收到的数据字节数用Lr(应答数据域长度)表示。Lr不通过传输层返回,应用在需要时可以依靠应答报文数据域对象结构计算出Lr

应答结尾的2个字节代码是命令的处理状态,它们通过传输层回送。

应答APDU的内容见表31

代码

描述

长度

Data

应答中接收的数据位串

变长(=Lr)

SW1

命令处理状态

1

SW2

命令处理限定

1

表 31 – 应答 APDU 内容

1.2 读记录(READ RECORD)命令-应答APDU
1.2.1 定义和范围

读记录命令用于读取线性文件中的记录。

IC卡的应答由回送记录组成。

1.2.2 命令报文

读记录命令报文编码见表33

代码

CLA

‘00’

INS

‘B2’

P1

记录号

P2

引用控制参数(见表34)

Lc

不存在

Data

不存在

Le

‘00’

33  – 读记录命令报文

34定义了命令报文的引用控制参数。

b8

b7

b6

b5

b4

b3

b2

b1

含义

X

X

X

X

X

SF1

1

0

0

P1为记录号

34  – 读记录命令引用控制参数

1.2.3 命令报文数据域

命令报文数据域不存在。

1.2.4 应答报文数据域

执行成功的读记录命令的应答报文数据域由读取的记录组成。在应用选择过程中读取的记录是目录记录(格式由8.2.3节定义)。应用处理中读取的记录格式应用有关

1.2.5 应答报文状态码

此命令执行成功的状态码是‘9000’

1.3 选择(SELECT)命令-应答APDU
1.3.1 定义和范围

选择命令通过文件名或AID来选择IC卡中的PSEDDFADF。应用选择在本规范的第8章中描述。

成功执行命令设定PSEDDFADF的路径。后续命令作用于与用SFI选定的PSEDDFADF相联系的AEF

IC卡返回的应答报文包含回送FCI

1.3.2 命令报文

选择命令报文编码见表35

代码

CLA

‘00’

INS

‘A4’

P1

引用控制参数(见表36)

P2

选择选项(见表37)

Lc

‘05’ - ‘10’

Data

文件名

Le

‘00’

表 35 - SELECT命令报文

36定义了选择(SELECT)命令报文的引用控制参数:

b8

b7

b6

b5

b4

b3

b2

b1

含义

0

 0 

0

0

0

1

通过名称选择

0

0

表 36  SELECT命令引用控制参数

37定义了选择(SELECT)命令报文的选择选项P2

b8

b7

b6

b5

b4

b3

b2

B1

含义

0

0

第一个有或仅有一个

1

0

下一个

表 37  选择(SELECT)命令可选参数

1.3.3 命令报文数据域

命令报文数据域应包括所选择的PSE名、DF名或AID

1.3.4 应答报文数据域

应答报文中数据域应包括所选择的PSEDDFADFFCI。表38、表39和表40定义了本规范所应用的标识。对于本规范所不规定的FCI中回送的附加标签应该被忽略。

38定义了成功选择PSE后回送的FCI

标识

存在

‘6F’

FCI模板

M

‘84’

DF

M

‘A5’

FCI数据专用模板

M

‘88’

目录基本文件的SFI

M

‘5F2D’

语言选择

O

‘9F11’

发卡行代码表索引

O

‘BF0C’

发卡行自定义数据(FC-I)

O

‘XXXX’

(3规定的标签)

来自从应用提供商、发卡行或IC卡供应商的1个或多个附加(专用)数据元。

O

表 38  - 选择PSE应答报文 (FCI)

39定义了成功选择DDF后回送的FCI: 

标签

存在

‘6F’

FCI模板

M

‘84’

DF

M

‘A5’

FCI数据专用模板

M

‘88’

目录基本文件的SFI

M

‘BF0C’

发卡行自定义数据(FCI)

O

‘XXXX’

(3规定的标识符)

来自从应用提供商、发卡行或IC卡供应商的1个或多个附加(专用)数据元。

O

表 39 – 选择DDF应答报文 (FCI)

40定义了成功选择ADF后回送的FCI

标签

存在

‘6F’

FCI模板

M

‘84’

DF

M

‘A5’

FCI数据专用模板

M

‘50’

应用标签

M

‘87’

应用优先指示

O

‘9F38’

PDOL

O

‘5F2D’

首选语言

O

‘9F11’

发卡行代码表索引

O

‘9F12’

应用优先名称

O

‘BF0C’

发卡行自定义数据(FCI)

O

‘XXXX’

(3规定的标识符)

来自从应用提供商、发卡行或IC卡供应商的1个或多个附加(专用)数据元。

O

表 40 – 选择ADF应答报文 (FCI)

注意:对于多应用卡片,强烈建议在响应报文中包含“应用标签”数据元,使得在终端用“AID列表”方法进行应用选择时,能方便持卡人选择/确认应用。

1.3.5 应答报文状态码

此命令执行成功的状态码是‘9000’

阅读(2121) | 评论(1) | 转发(2) |
0

上一篇:文件

下一篇:应用选择

给主人留下些什么吧!~~