ic 卡获取帐号apdu指令_非接触IC卡片APDU指令系统介绍..docx

CPU卡APDU指令介绍

APDU指令格式

根据7816-4规范,从终端发出的命令和卡片响应的信息必须遵从以下4种格式。

情形1:

命令 :

CLA

INS

P1

P2

00

响应 :

SW1

SW2

情形2:

命令:

CLA

INS

P1

P2

Le

响应:

Le字节的DATA

SW1

SW2

情形3:

命令:

CLA

INS

P1

P2

Lc

DATA

响应 :

SW1

SW2

情形4:

命令:

CLA

INS

P1

P2

Lc

DATA

Le

响应:

Le字节的DATA

SW1

SW2

APDU命令格式

命令由4字节的命令头和命令体组成,见图1。

命令头(必备体)

命令体(可选体)

CLA

INS

P1

P2

Lc

DATA

Le

图1 APDU命令格式

命令头域

命令头定义报文的内容如下表所示:

表1 命令头域

代码

长度(byte)

(Hex)

描述

CLA

1

X0

不带安全报文的命令

X4

带安全报文的命令

INS

1

XX

指令代码

P1

1

XX

参数1

P2

1

XX

参数2

命令体

命令体中各项是可选的。

Lc命令数据域中DATA的长度,该长度不可超过255字节。

Data 命令和响应中的数据域。

Le响应数据域中期望数据的长度。

Le=00,表示需要最大字节数, 该长度不可超过255字节。

APDU响应数据格式

APDU命令的应答由数据和状态字组成,见下图2。

数据

状态字

响应中接收的数据位串

SW1

SW2

图2 APDU响应数据格式

返回数据

返回数据域是可选项。

返回状态字(SW1SW2)

SW1 SW2是卡片执行命令的返回代码,任何命令的返回信息都至少由一个状态字组成。

状态字SW1SW2意义

状态字说明了命令处理的情况,即命令是否被正确执行,如果未被正确执行,原因是什么。状态字由2部分组成:

SW1(status word1):表示命令处理状态;

SW2(status word2):表示命令处理限定。

表2 状态字SW1-SW2

SW1

SW2

Description

90

00

正确执行

61

XX

正确执行

XX表示响应数据长度。可用Get Response命令取回响应数据。(仅用于T=0)

62

81

回送的数据可能错误

62

83

选择文件无效,文件或密钥校验错误

63

CX

X表示还可再试次数

64

00

状态标志未改变

65

81

写EEPROM不成功

67

00

错误的长度

69

00

CLA与线路保护要求不匹配

69

01

无效的状态

69

81

命令与文件结构不相容

69

82

不满足安全状态

69

83

密钥被锁死

69

85

使用条件不满足

69

87

无安全报文

69

88

安全报文数据项不正确

6A

80

数据域参数错误

6A

81

功能不支持或卡中无MF或卡片已锁定

6A

82

文件未找到

6A

83

记录未找到

6A

84

文件无足够空间

6A

86

参数P1 P2错误

6B

00

在达到Le/Lc字节之前文件结束,偏移量错误

6C

XX

Le错误

6E

00

无效的CLA

6F

00

数据无效

93

02

MAC错误

93

03

应用已被锁定

94

01

金额不足

94

03

密钥未找到

94

06

所需的MAC不可用

注意:

当SW1的高半字节为‘9’,且低半字节不为‘0’时,其含义依赖于相关应用。

当SW1的高半字节为‘6’,且低半字节不为‘0’时,其含义与应用无关。

APDU指令

常见APDU指令介绍

以下介绍的指令均为交通行业常见指令,涵盖ED/EP应用和电子现金应用,针对非接触卡片。

通用指令

────SELECT(选择)

────READ BINARY(读二进制)

────READ RECORD(读记录)

────UPDATE BINARY(修改二进制)

────UPDATE RECORD(修改记录)

────GET RESPONSE(取响应)

────GET CHALLENGE(产生随机数)

────EXTERNAL AUTHENTICATION(外部认证)

────INTERNAL AUTHENTICATION(内部认证)

────VERIFY(校验)

────PIN CHANGE/UNBLOCK(个人密码修改/解锁)

────APPLICATION BLOCK(应用锁定)

────APPLICATION UNBLOCK(应用解锁)

────CARD BLOCK(卡片锁定)

电子钱包\电子存折一般交易相关指令

────GET BALANCE(读余额)

────GET TRANSACTION PROVE(取交易认证)

────CHANGE PIN(修改个人密码)

────INITIALIZE FOR LO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux运行nodejs一般路径_NodeJS和命令行程序

奇技指南本文来自奇舞周刊公众号,转载请注明出处。作者:刘观宇,360 奇舞团高级前端工程师、技术经理,W3C CSS 工作组成员。源 起植根于Unix系统环境下的程序,很多都把贯彻Unix系统设计的哲学作为一种追求。Unix系统管道…

计算机怎么允许用户安装文件,如何禁止安装某个软件?电脑不允许安装软件的方法...

如何禁止安装某个软件?想要禁止安装软件,可以在组策略中直接启用软件安装规则,但如果只是想要禁用某个软件的安装,则需要用户将该软件的证书进行一个限制,证书不通过,自然无法安装,下面是操作步…

Docker日志收集最佳实践

传统日志处理 说到日志,我们以前处理日志的方式如下: 日志写到本机磁盘上 通常仅用于排查线上问题,很少用于数据分析 需要时登录到机器上,用grep、awk等工具分析 那么,这种方式有什么缺点呢? 第一&#x…

2020年10个诱人的技术里程碑

来源:IEEE电气电子工程师心理控制仿生四肢将首次亮相波士顿马拉松麻省理工学院的研究人员已经开发出一种只用思想控制仿生肢体的方法。2016年首次在人类身上试验。2020年,当在阿富汗失去腿的老兵Brandon Korona用他的新仿生肢参加波士顿马拉松比赛时&…

goland 方法注释_goland 设置注释模板的过程图文详解

网上找了一些办法 都没有说到关键点:梳理一下设置步骤如下,以及避免的坑。新建文件自动加注释:Preferences | Editor | File and Code Templates 打开go File 在右侧输入模板,然后点击Apply;对已有的方法或者文件添加注…

python爬虫源码下载 视频_Python爬虫下载视频文件部分源码

importrequestsimporttime headers{User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36} movie_url 在这里输入视频地址,例如:http://www.***********.mp4movie_name 视…

耶鲁大学计算机科学录取,耶鲁大学计算机科学研究生Offer及录取要求

对于打算去耶鲁大学读研究生的学生来讲,耶鲁大学研究生申请要求及耶鲁大学研究生专业介绍是学生最关心的问题。本文香港介绍耶鲁大学研究生申请要求及耶鲁大学研究生的专业介绍,帮助更多的学生更好的了解耶鲁大学。耶鲁大学研究生申请要求及专业介绍耶鲁…

PHP的错误处理机制

php的错误处理是比较复杂的, 本文讲解php中所有错误相关的重要知识点做一次梳理, 便于理解php的错误机制. 基础知识 在此之前, 先熟悉一下php error的基础知识 预定义常量运行时配置异常错误处理函数预定义常量 定义了所有php的错误类型常量, 每一个常量都是一个整型数值, 它的…

什么是智能仓储?一文带你彻底搞懂!

来源:机器人网什么是智能仓储?智能仓储是仓库自动化的产物。与智能家居类似,智能仓储可通过多种自动化和互联技术实现。这些技术协同工作以提高仓库的生产率和效率,最大限度地减少人工数量,同时减少错误。在手动仓库中…

assign深拷贝_Object.assign 深拷贝?浅拷贝?

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。Object.assign(target, ...sources) 【target:目标对象】,【souce:源对象(可多个)】1.如果目标对象中的属性具有相同的键,…

python交互模式运行py文件_对Python的交互模式和直接运行.py文件的区别详解

很多初学的小伙伴总是搞不清交互模式和命令行模式,下面一起来了解一下。 看到类似C:\>是在Windows提供的命令行模式,看到>>>是在Python交互式环境下。 在命令行模式下,可以执行python进入Python交互式环境,也可以执行…

HTML文件属于void值吗,使用HTML :: TreeBuilder查找html文件中的值

找到与匹配内容,在这种情况下,“磁盘空间使用情况”,然后找到下一个。一旦你有一个元素树:my $usage $t->look_down(_tag > td,sub {$_[0]->as_trimmed_text() ~ /^Disk Space Usage$/})->right()->as_trimmed_te…

SQL Server-基础-经典SQL语句

1 经典SQL语句2 基础3 1、说明:创建数据库4 CREATE DATABASE database-name 5 2、说明:删除数据库6 drop database dbname7 3、说明:备份sql server8 --- 创建 备份数据的 device9 USE master10 EXEC sp_addumpdevice disk, testBack, c:\mss…

什么是具身认知?反身理论?

来源:人机与认知实验室 具身认知(Embodied cognition),也称“具体化”(embodiment),是心理学中一个新兴的研究领域。具身认知理论主要指生理体验与心理状态之间有着强烈的联系。生理体验“激活”…

spring字符串判空_字符串工具类StringUtils实现字符串是否中文、字符串分割/判空/替换/查找、是否包含乱码及字符串数组合并等常规操作...

一、前言关于字符串工具类StringUtils实现字符串是否包含isChinese中文、是否包含isMessyCode乱码、常规数据类型转换、替换/删除/判空、两字符串数组mergeStringArrays合并、删除trimArrayElements字符串数组指定数组元素、字符串去重removeDuplicateStrings处理、字符串集合转…

成人高考 计算机英语作文,2017年成人高考英语作文范文

本文“2017年成人高考英语作文范文”,跟着出国留学网成人高考频道来了解一下吧。希望能帮到您!假设你叫王红,于5月7日星期五在学校门口看到两则海报后,决定邀你的好友Harry一起参加其中的一项活动。你赶到Harry住处时,发现他不在。…

todo已完成任务_这么多Todo工具,总有一个能让我告别拖延症!

写下这个标题之后,本喵就陷入了沉思:这个世界上,真的有能让人告别拖延症的工具吗?或者拖延症这个东西,真的需要告别吗?但不管怎么样,该有的todo工具还是要有毕竟,只有好好规划了待办…

php后台接受上传图片

配合上个博文的&#xff0c;捣鼓了一个php后台的东西&#xff0c;虽然不怎么懂&#xff0c;但慢慢来&#xff0c;还是可以的。传送门 java太不好学了&#xff0c;玩玩php&#xff0c;满足一下自己。 那个图片压缩的效果很明显&#xff0c;居然压缩了好几倍。 <?php header(…

【数字孪生】关于数字孪生的冷思考及其背后的建模和仿真技术

来源&#xff1a;系统仿真学报张霖 北京航空航天大学教授。曾任国际建模仿真学会(SCS)主席&#xff0c;北 航自动化 学院副院长等&#xff0c;现为ASIASIM主席&#xff0c;中国仿真学会常务理事&#xff0c;SCS Fellow&#xff0c;复杂产品先进制造…

合泰单片机做电压表_启士 | 蓝桥杯零基础单片机教程9 I2C介绍(上)

这是 北航士谔书院 的第 940 篇推送北航士谔书院X大班提醒您&#xff1a;道路千万条&#xff0c;学习第一条不搞单片机&#xff0c;开学两行泪——新春快乐&#xff0c;我们又回来了&#xff01;本文对 IC 总线的协议做出详细的介绍&#xff0c;并对其在 51 单片机上的应用代码…