日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

社会保障卡读取基本文件数据

發(fā)布時(shí)間:2024/3/12 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 社会保障卡读取基本文件数据 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)于社會(huì)保障卡(社保卡)內(nèi)容的具體資料,請(qǐng)查閱“人社信息函 2012 37 號(hào) 關(guān)于印發(fā)社會(huì)保障卡文件結(jié)構(gòu)和數(shù)據(jù)項(xiàng)(V2.0)的通知”

卡內(nèi)只有EF05-發(fā)卡機(jī)構(gòu)數(shù)據(jù)文件和EF06-持卡人的基本信息文件是不需要密碼驗(yàn)證就可以讀取的,以下只針對(duì)這兩個(gè)文件內(nèi)容的讀取操作進(jìn)行說(shuō)明。

數(shù)據(jù)項(xiàng)的格式與屬性

請(qǐng)參閱:https://www.cnblogs.com/nightnine/p/11495740.html

APDU指令格式:

CLAINSP1P2LcDataLe

讀取數(shù)據(jù)項(xiàng)分三步:

1、先選擇 社會(huì)保障系統(tǒng)環(huán)境

APDU指令:00 A4 04 00 0F 7378312E73682EC9E7BBE1B1A3D5CF

說(shuō)明:

00 A4:APDU的select file指令(CLA? ?INS)

04 00:參數(shù)(P1? ?P2)具體參數(shù)項(xiàng)及含義不詳,網(wǎng)上資料太少

0F:后面跟隨的參數(shù)的長(zhǎng)度

7378312E73682EC9E7BBE1B1A3D5CF:轉(zhuǎn)換為CHAR后=sx1.sh.社會(huì)保障

命令可理解為:按應(yīng)用標(biāo)識(shí)符選擇應(yīng)用文件

2、選擇EF06文件

APDU指令:00 A4 02 00 02 EF06

00 A4:同上

02:P1參數(shù),按文件標(biāo)志符選擇文件

00:P2參數(shù)

02:后面跟隨的參數(shù)的長(zhǎng)度

EF06:文件標(biāo)志符

3、選擇所需的數(shù)據(jù)項(xiàng)并返回?cái)?shù)據(jù),兩種指令都可以使用

APDU指令1:00 B2 01 04 00

00B2:APDU的READ RECORD指令(CLA? ?INS)

01:P1參數(shù),數(shù)據(jù)項(xiàng)序號(hào),根據(jù)第二步選擇的文件按順序排列

04:P2參數(shù),按數(shù)據(jù)項(xiàng)序號(hào)讀取

00:期望返回的數(shù)據(jù)長(zhǎng)度(經(jīng)測(cè)試似乎沒(méi)啥卵用)

APDU指令2:00 B2 08 00 00

00B2:APDU的READ RECORD指令(CLA? ?INS)

08:P1參數(shù),數(shù)據(jù)項(xiàng)標(biāo)志

00:P2參數(shù),按數(shù)據(jù)項(xiàng)標(biāo)志讀取

00:期望返回的數(shù)據(jù)長(zhǎng)度(經(jīng)測(cè)試似乎沒(méi)啥卵用)

?

調(diào)試經(jīng)驗(yàn):

使用德卡T10讀卡器,在delphi7下調(diào)試

指令入?yún)⒉荒苁褂胊rray 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是返回的數(shù)據(jù)Data的有效長(zhǎng)度

返回值要注意數(shù)據(jù)類(lèi)型是an或是cn

an類(lèi)型的值用Chr(Data[I])轉(zhuǎn)換,cn類(lèi)型的用IntToHex(Data[2],2)轉(zhuǎn)換

返回值中前兩個(gè)字節(jié)跳過(guò)不可用,末兩個(gè)字節(jié)是執(zhí)行狀態(tài)代碼,$9000表示成功,其它代表失敗,可通過(guò)查詢(xún)APDU應(yīng)答狀態(tài)碼查看失敗原因

?

總結(jié)

以上是生活随笔為你收集整理的社会保障卡读取基本文件数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。