关于社会保障卡(社保卡)内容的具体资料,请查阅“人社信息函 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应答状态码查看失败原因

社会保障卡读取基本文件数据相关推荐

  1. 【Unity3D日常开发】Unity3D中打包WEBGL后读取本地文件数据

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  2. python接口自动化参数化_Python读取txt文件数据的方法(用于接口自动化参数化数据)...

    小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...

  3. python读数据-python读取各种文件数据方法解析

    python读取.txt(.log)文件 ..xml 文件 .excel文件数据,并将数据类型转换为需要的类型,添加到list中详解 1.读取文本文件数据(.txt结尾的文件)或日志文件(.log结尾 ...

  4. QT Creator使用matlab库文件读取.mat文件数据

    QT Creator使用matlab库文件读取.mat文件数据 一.环境配置 二.关于编程介绍 三.关于使用函数的介绍 1:关于假设数据类型介绍 2:关于使用函数介绍 一.环境配置 第一步先点开我的电 ...

  5. python读取csv某一列存入数组_python 读取.csv文件数据到数组(矩阵)的实例讲解

    利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb&qu ...

  6. html表格中绑定显示xml文档内容的简单实例,JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)...

    本文实例讲述了JS读取XML文件数据并以table形式显示数据的方法.分享给大家供大家参考,具体如下: 先看xml文件: 张秋丽 女 18 李文才 男 31 李斯文 男 22 马英 女 25 孙红雷 ...

  7. matlab读取TXT文件数据,二进制文件数据

    1. maltab自带工具 选择数据文件后 可以看到如下界面 可以根据实际选择分隔符,一般是空格或者逗号 有些第一行还有变量名,所以一般舍去第一行等 最后点击导入所选内容即可 优缺点 不能打开太大的文 ...

  8. python使用h5py读取mat文件数据

    目录 一.matlab生成.mat文件 二.读取mat文件数据 一.matlab生成.mat文件 a=[]; List =dir('C:\Users\Administrator\Desktop\cod ...

  9. Qt读取Json文件数据

    Qt读取Json文件数据 void TcpServerCfg::initServerCfgList() {serverCfgList.clear();QString name = "./co ...

最新文章

  1. 优达学城《DeepLearning》2-3:权重初始化
  2. python经典好书-有哪些 Python 经典书籍?
  3. Ubuntu常用命令与技巧
  4. c语言数码管编写程序,跪求单片机0~99数码管显示用C语言编写的程序
  5. 讲解web服务所涉及到的重要知识点
  6. Angular html property的值如何被更新的
  7. AutoValue:生成的不可变值类
  8. 【C++基础】重抛异常与异常的使用场景
  9. Flex Gumbo中如何自定义HSlider数据Tip样式的例子
  10. Light OJ 1078
  11. 如果查看oracle_home是否共享_现在还有小伙伴用XP系统吗?经常会共享打印问题...
  12. 通过shell进行数学计算
  13. Fortran77基础
  14. Vscode ssh远程连接失败解决办法
  15. php网页代码字体大小,html字体大小怎么设置
  16. 实时天气预报API——易客云API
  17. 南京外企100万,杭州阿里p8 150万,怎么选?
  18. 慕课网 springboot学习记录
  19. Python黑马头条推荐系统第四天 TensorFlow框架介绍和深度学习
  20. ubuntu mysql 删除_ubuntu 彻底删除MySQL数据库实操

热门文章

  1. 超静音服务器性能强,静音服务器:最适合办公环境的静音服务器
  2. 经典励志文章:一碗阳春面
  3. A系统给B系统转100块钱如何实现?
  4. 编辑器漏洞 EWebedtitor FCKeditor spaw editor
  5. 李开复给中国大学生的第三封信——成功、自信、快乐
  6. 全国计算机等级考试python教材.pdf_全国计算机等级考试二级教程Python语言程序设计(2018年版).PDF...
  7. 扩展正则表达式及应用
  8. 彝文计算机,计算机彝文信息处理主流技术的分析与探讨
  9. 第十二届蓝桥杯省赛 C/C++大学B组 试题G:砝码称重
  10. 【阅读笔记】联邦学习实战——联邦学习在智能物联网中的应用案例