讀取社保卡信息


1.根據 “社會保障卡文件結構和數據項(V2.0)”中的說明

                               社會保障系統環境 SSSE 的應用標識符
#-------------------------------------+------------------------------------------------------------+
|DDF    |應用標識符內容         |              應用標識符                                         |
|SSSE  | sx1.sh.社會保障       |       7378312E73682EC9E7BBE1B1A3D5CF |
#-------------------------------------+------------------------------------------------------------+ 
                                                            基本應用數據區文件特性
#----------------------------+-------------------+------------------------+-----------+--------------+------------+-------+
|文件定義                     |  文件標識符    |   短文件標識符     |讀控制    |寫控制      |文件結構   |類別 |
|發卡機構數據文件       |EF05               |05                          |無           |UKSSSE  | 變長記錄  | 啟用|
|持卡人的基本信息文件|EF06               |06                          |無     |UKSSSE   | 變長記錄  | 啟用|
#----------------------------+-------------------+------------------------+-----------+--------------+------------+-------+
                
                                                                    數據項的格式與屬性
#----------------------------+-------------------+------------------------+-----------+--------------+------------+
標志                                   數據項                  類型                    長度      所屬文件      備注
+----------------------------+-------------------+------------------------+-----------+--------------+------------+
 01                                 卡的識別碼                 cn                     10      |
02                                  卡的類別                    an                      01     |
03                                   規范版本                   an                      04     |   SSSE
04                              初始化機構編號             cn                      0C     |   "EF05"
05                                  發卡日期                    cn                       04    |
06                                  卡有效期                    cn                       04    |
07                                   卡號                          an                       09    |
+----------------------------+-------------------+------------------------+-----------+--------------+------------+
 08                                社會保障卡號碼        cn                       12      |
 09                                   姓名                        an                     1E      |
 4E                                  姓名擴展                  an                      14     |   SSSE
 0A                                  性別                          cn                      01     |   "EF06"
 0B                                  民族                         cn                      01      |
 0C                                 出生地                       cn                     03      |
 0D                                 出生日期                   cn                      04      |
+----------------------------+-------------------+------------------------+-----------+--------------+------------+
 
可以獲知,以上數據,可以直接讀出,不需要走加密模塊。
---------------------------------------------------------------------------------------------------------------------------
2. 選用接觸式讀卡器,接觸式讀卡器可以采用SIM卡讀卡器,由於SIM卡讀卡器,便宜,易於購買。如果采用帶安全模塊的接觸式讀卡器,一般
設備都無法購買到,不賣個人。SIM卡讀卡器無安全模塊,故適合讀取非加密數據。當然可以選用其他接觸式讀卡器,ACR系列的接觸式讀卡器
由於不支持發送APDU指令,故不適合讀取卡內數據
 
我購買的SIM卡讀卡器,相關信息
符合PC/SCVersion 1.0/2.0標准並通過微軟認證,電腦&網路使用安全控制(Access Control), 電子商務(e-Commerce)或會員管理機制(Royal program)
符合財金規范第二代IC晶片金融卡(FISC II)

可讀寫SLE4418/4428、SLE4432/4442、SLE4436/5536及I2C Memory卡

可讀符合ISO7816-3; T=0 and T=1通訊協定之CPU卡

---------------------------------------------------------------------------------------------------------------------------

3. 使用Windows自帶的智能卡API開發讀取卡內數據,關於CPU卡內數據文件結構和流程,參考我的文章。
windows中調用智能卡,需要包含winscard.h,Winscard.lib,在winscard.h中包含了許多智能卡的API,https://docs.microsoft.com/zh-cn/windows/win32/api/winscard/
主要用到的API有:SCardEstablishContext;SCardListReaders;SCardConnect;SCardStatus;SCardBeginTransaction;SCardTransmit;SCardReconnect;
SCardEndTransaction;SCardDisconnect;SCardFreeMemory。
關於怎么調用這些API,就不在這里重復說了,網上一搜都有。
---------------------------------------------------------------------------------------------------------------------------
4.  發送APDU指令
1】因為上文中,已經說明,社會保障系統環境 SSSE 的應用標識符,所以直接select這個,0x00,0xa4,0x04,0x00,0x0f,0x73,0x78,0x31,0x2E,0x73,0x68,0x2E,0xC9,0xE7,0xBB,0xE1,0xB1,0xA3,0xD5,0xCF
2】繼續select,0x00,0xa4,0x02,0x00,0x02,0xEF,0x06,0x00
3】讀取數據,0x00,0xb2,0x0a,0x00,0x03;0x00,0xb2,0x0b,0x00,0x03;0x00,0xb2,0x0d,0x00,0x06;
0x00,0xb2,0x09,0x00,0x20;0x00,0xb2,0x08,0x00,0x14 
同理,select EF05,讀取數據

 

 關於怎么解析姓名,還是沒搞懂,這個ACSII碼,怎么解析成漢字的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM