以下需求适用于符合ISO7816的Reader的测试:换句话说只要Reader能通过以下指令,就基本符合了ISO7816标准,具体需求为:

1  概述

本文档主要描述CDCAS系统中用到的CA证书的格式及相关约定。

2  证书格式

2.1      SW1、SW2返回值含义:

值(Hex)

说明

6E 00

CLA错误

6D 00

INS错误

67 00

数据长度错误

69 88

数据内容有错误

6A 00

P1/P2错误

90 00

数据正确

2.2      各项输入指令、输入数据,输出数据及期望的正确返回

2.2.1  ATR测试

由于指令修改,智能卡中ATR所带版本信息增加。测试方法为,向输入Reset指令,卡返回ATR如下:

版本

ATR

SpecIC2.0.00

0x3B 7A 18 00 00 20 00 53 70 65 63 43 61 72 64

SpecIC2.0.01

0x3B 7A 18 00 00 20 01 53 70 65 63 43 61 72 64

2.2.2         INS测试

a)       向卡输入指令0x00 20 00 00 04,过2etus卡返回INS(0x20),之后向卡输入数据1,2,3,4,卡验证输入数据正确并返回0x90 00。具体输入输出如表1所示:

表1

1.输入指令

CLA

0x00

INS

0x20

P1

0x00

P2

0x00

Lc

0x04

2.等待时间

2etus

3.返回ACK

0x20

4.输入数据

1,2,3,4

5.返回

SW1

0x90

SW2

0x00

b)      向卡输入指令0x00 22 00 00 04,过9600etus卡返回INS(0x22),之后向卡输入数据1,2,3,4,卡验证输入数据正确并返回0x90 00。具体输入输出如表2所示:I

表 2

1.输入指令

CLA

0x00

INS

0x22

P1

0x00

P2

0x00

Lc

0x04

2.等待时间

9600etus

3.返回ACK

0x22

4.输入数据

1,2,3,4

5.返回

SW1

0x90

SW2

0x00

2.2.3         输入输出测试

a)       向卡输入指令0x00 30 00 00 FF,卡返回INS(0x30),之后向卡输入数据1,2,3,……255,卡验证输入数据正确并返回0x90 00。具体输入输出如表3所示:

表 3

1.输入指令

CLA

0x00

INS

0x30

P1

0x00

P2

0x00

Lc

0xFF

2.返回ACK

0x30

3.输入数据

1,2,3……255

4.返回

SW1

0x90

SW2

0x00

b)      向卡输入指令0x00 32 00 00 00,卡返回INS(0x32),之后卡输出数据0,1,2,3,……255,输出数据完成后卡返回0x90 00。具体输入输出如表4所示:

表 4

1.输入指令

CLA

0x00

INS

0x32

P1

0x00

P2

0x00

Le

0x00

2.返回ACK

0x32

3.输出数据

0,1,2……255

4.返回

SW1

0x90

SW2

0x00

c)      SpecIC2.0.00版本支持

向卡输入指令0x00 34 00 00 FF,卡返回INS(0x34),之后向卡输入数据1,2,3,……255,卡验证正确后输出数据1,2,3,4,输出数据完成后卡返回0x90 00。具体输入输出如表5-1所示:

表5-1

1.输入指令

CLA

0x00

INS

0x34

P1

0x00

P2

0x00

Le

0xFF

2.返回ACK

0x34

3.输入数据

1,2,3……255

4.返回

0x61,0x 04

5.输入指令

CLA

0x00

INS

0xC0

P1

0x00

P2

0x00

Le

0x04

6.返回ACK

0xC0

7.输出数据

1,2,3,4

8.返回

SW1

0x90

SW2

0x00

d)      SpecIC2.0.01版本支持

向卡输入指令0x00 34 00 00 FF,卡返回INS(0x34),之后向卡输入数据1,2,3,……255,卡验证正确后输出数据1,2,3,……255,输出数据完成后卡返回0x90 00。具体输入输出如表5-2所示:

表5-2

1.输入指令

CLA

0x00

INS

0x34

P1

0x00

P2

0x00

Le

0xFF

2.返回ACK

0x34

3.输入数据

1,2,3……255

4.返回

0x61,0x FF

5.输入指令

CLA

0x00

INS

0xC0

P1

0x00

P2

0x00

Le

0xFF

6.返回ACK

0xC0

7.输出数据

1,2,3……255

8.返回

SW1

0x90

SW2

0x00

2.2.4         工作等待时间测试

a)   向卡输入指令0x00 40 00 00 04,卡返回INS(0x40),之后向卡输入数据1,2,3,4,过4秒后卡返回0x90 00,在4秒期间,卡每隔9300etus输出0x60,具体输入输出如表6所示:

表 6

1.输入指令

CLA

0x00

INS

0x40

P1

0x00

P2

0x00

Lc

0x04

2.返回ACK

0x40

3.输入数据

1,2,3,4

4.等待时间

4秒,期间每隔>9300etus卡输出0x60

5.返回

SW1

0x90

SW2

0x00

b)          向卡输入指令0x00 42 00 00 04,4秒后卡返回INS(0x42),之后卡输出数据1,2,3,4。在4秒期间,卡每隔9300etus输出0x60,具体输入输出如表7所示:

表 7

1.输入指令

CLA

0x00

INS

0x42

P1

0x00

P2

0x00

Le

0x04

2等待时间

4秒,其间每隔>9300etus卡输出0x60

3.返回ACK

0x42

4.输出数据

1,2,3,4

5.返回

SW1

0x90

SW2

0x00

2.2.5         读取SerialNumber

表8

1.输入指令

CLA

0x00

INS

0x50

P1

0x00

P2

0x00

Le

0x08

2.返回ACK

0x50

3.输出数据

8个Byte长度SerialNumber

4.返回

SW1

0x90

SW2

0x00

2.2.6         标准pps改变速率

PPS卡可以设置通信速率,通过该卡用户能够验证机顶盒等读卡器设备能否在不同的速率下和智能卡进行正确的通信。PPS协议具体可参考ISO_IEC_7816-3第八章

根据公式:  我们可以计算每个etu消耗的时间,

具体输入输出如表9所示:

表9

1.Reset

设置速率前必须Reset

2.卡返回

0x3B 7A 18 00 00 20 00 53 70 65 63 43 61 72 64

其中第三个Byte 0x18,表示FI=1,DI=8,查图1可得:Fi=372,Di=12。根据计算etu的公式可以计算出传输速率将是原来的12倍。

2.读卡器输入

0xFF 10 18 F7

3.卡返回

0xFF 10 18 F7

设置速率完成,下面按设置的速率进行通信

图1

2.2.7         设置速率

使用指令0x88可以修改智能卡与读卡设备之间的通信速率,目前支持三种速率的设置:1、6、12,具体输入输出如表10所示:

表10

1.输入指令

CLA

0x00

INS

0x88

P1

0x00

P2

0x01或0x06或0x0C

Le

0x00

2.返回

SW1

0x90

SW2

0x00

最新文章

  1. Linux shell redirect
  2. 推薦使用 Microsoft Anti-Cross Site Scripting Library v3.1
  3. js-函数eval
  4. Android笔记:限定符
  5. 《DSP using MATLAB》示例Example4.11
  6. gotoTop返回顶部 JS
  7. Github排行榜
  8. 关于RF 315MHz
  9. PHP开发规范
  10. (转载)js----对象直接量
  11. 关于session_start()这个问题
  12. 产品经理学Python:逻辑判断与运算符
  13. [ Java面试题 ]基础篇之一
  14. MHA高可用
  15. EBS中 EXCEL 格式报表输出的公用API
  16. 阿里云安装配置Ghost
  17. Unity3D实践系列07,组件的启用或禁用开关,物体的的可见或不可见开关,以及相应事件
  18. 架构:Screaming Architecture(转载)
  19. java将doc文件转换为pdf文件的三种方法
  20. node http模块搭建简单的服务和客户端

热门文章

  1. 解耦——Hybrid H5跨平台性思考
  2. Cortex-M3 FLASH 日志文件系统
  3. xml to json
  4. MAC安装SVNServer
  5. Apache https 配置指南
  6. SqlServer 笔记
  7. _getch() 和 getch() 及 _T()
  8. Nginx常见502错误
  9. tmux environment keep
  10. Ajax七层模型用途