社会保障卡读取基本文件数据
关于社会保障卡(社保卡)内容的具体资料,请查阅“人社信息函 2012 37 号 关于印发社会保障卡文件结构和数据项(V2.0)的通知”
卡内只有EF05-发卡机构数据文件和EF06-持卡人的基本信息文件是不需要密码验证就可以读取的,以下只针对这两个文件内容的读取操作进行说明。
数据项的格式与属性
请参阅:https://www.cnblogs.com/nightnine/p/11495740.html
APDU指令格式:
CLA | INS | P1 | P2 | Lc | Data | Le |
读取数据项分三步:
1、先选择 社会保障系统环境
APDU指令:00 A4 04 00 0F 7378312E73682EC9E7BBE1B1A3D5CF
说明:
00 A4:APDU的select file指令(CLA INS)
04 00:参数(P1 P2)具体参数项及含义不详,网上资料太少
0F:后面跟随的参数的长度
7378312E73682EC9E7BBE1B1A3D5CF:转换为CHAR后=sx1.sh.社会保障
命令可理解为:按应用标识符选择应用文件
2、选择EF06文件
APDU指令:00 A4 02 00 02 EF06
00 A4:同上
02:P1参数,按文件标志符选择文件
00:P2参数
02:后面跟随的参数的长度
EF06:文件标志符
3、选择所需的数据项并返回数据,两种指令都可以使用
APDU指令1:00 B2 01 04 00
00B2:APDU的READ RECORD指令(CLA INS)
01:P1参数,数据项序号,根据第二步选择的文件按顺序排列
04:P2参数,按数据项序号读取
00:期望返回的数据长度(经测试似乎没啥卵用)
APDU指令2:00 B2 08 00 00
00B2:APDU的READ RECORD指令(CLA INS)
08:P1参数,数据项标志
00:P2参数,按数据项标志读取
00:期望返回的数据长度(经测试似乎没啥卵用)
调试经验:
使用德卡T10读卡器,在delphi7下调试
指令入参不能使用array of char或array of byte变量,需使用PChar(#$00#$A4#$02#$00#$02#$EF#$06)形式传入指令
例:
varicdev, DataLen : Cardinal;Data : array[0..31] of Byte;
begindc_cpuapduInt(icdev, 5, PChar(#$00#$B2#$08#$00#$12), @DataLen, @Data)
end;
DataLen是返回的数据Data的有效长度
返回值要注意数据类型是an或是cn
an类型的值用Chr(Data[I])转换,cn类型的用IntToHex(Data[2],2)转换
返回值中前两个字节跳过不可用,末两个字节是执行状态代码,$9000表示成功,其它代表失败,可通过查询APDU应答状态码查看失败原因
社会保障卡读取基本文件数据相关推荐
- 【Unity3D日常开发】Unity3D中打包WEBGL后读取本地文件数据
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...
- python接口自动化参数化_Python读取txt文件数据的方法(用于接口自动化参数化数据)...
小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...
- python读数据-python读取各种文件数据方法解析
python读取.txt(.log)文件 ..xml 文件 .excel文件数据,并将数据类型转换为需要的类型,添加到list中详解 1.读取文本文件数据(.txt结尾的文件)或日志文件(.log结尾 ...
- QT Creator使用matlab库文件读取.mat文件数据
QT Creator使用matlab库文件读取.mat文件数据 一.环境配置 二.关于编程介绍 三.关于使用函数的介绍 1:关于假设数据类型介绍 2:关于使用函数介绍 一.环境配置 第一步先点开我的电 ...
- python读取csv某一列存入数组_python 读取.csv文件数据到数组(矩阵)的实例讲解
利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb&qu ...
- html表格中绑定显示xml文档内容的简单实例,JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)...
本文实例讲述了JS读取XML文件数据并以table形式显示数据的方法.分享给大家供大家参考,具体如下: 先看xml文件: 张秋丽 女 18 李文才 男 31 李斯文 男 22 马英 女 25 孙红雷 ...
- matlab读取TXT文件数据,二进制文件数据
1. maltab自带工具 选择数据文件后 可以看到如下界面 可以根据实际选择分隔符,一般是空格或者逗号 有些第一行还有变量名,所以一般舍去第一行等 最后点击导入所选内容即可 优缺点 不能打开太大的文 ...
- python使用h5py读取mat文件数据
目录 一.matlab生成.mat文件 二.读取mat文件数据 一.matlab生成.mat文件 a=[]; List =dir('C:\Users\Administrator\Desktop\cod ...
- Qt读取Json文件数据
Qt读取Json文件数据 void TcpServerCfg::initServerCfgList() {serverCfgList.clear();QString name = "./co ...
最新文章
- 优达学城《DeepLearning》2-3:权重初始化
- python经典好书-有哪些 Python 经典书籍?
- Ubuntu常用命令与技巧
- c语言数码管编写程序,跪求单片机0~99数码管显示用C语言编写的程序
- 讲解web服务所涉及到的重要知识点
- Angular html property的值如何被更新的
- AutoValue:生成的不可变值类
- 【C++基础】重抛异常与异常的使用场景
- Flex Gumbo中如何自定义HSlider数据Tip样式的例子
- Light OJ 1078
- 如果查看oracle_home是否共享_现在还有小伙伴用XP系统吗?经常会共享打印问题...
- 通过shell进行数学计算
- Fortran77基础
- Vscode ssh远程连接失败解决办法
- php网页代码字体大小,html字体大小怎么设置
- 实时天气预报API——易客云API
- 南京外企100万,杭州阿里p8 150万,怎么选?
- 慕课网 springboot学习记录
- Python黑马头条推荐系统第四天 TensorFlow框架介绍和深度学习
- ubuntu mysql 删除_ubuntu 彻底删除MySQL数据库实操
热门文章
- 超静音服务器性能强,静音服务器:最适合办公环境的静音服务器
- 经典励志文章:一碗阳春面
- A系统给B系统转100块钱如何实现?
- 编辑器漏洞 EWebedtitor FCKeditor spaw editor
- 李开复给中国大学生的第三封信——成功、自信、快乐
- 全国计算机等级考试python教材.pdf_全国计算机等级考试二级教程Python语言程序设计(2018年版).PDF...
- 扩展正则表达式及应用
- 彝文计算机,计算机彝文信息处理主流技术的分析与探讨
- 第十二届蓝桥杯省赛 C/C++大学B组 试题G:砝码称重
- 【阅读笔记】联邦学习实战——联邦学习在智能物联网中的应用案例