EST-100/EST-100GS/EST-J13X系列Windows開發(fā)包(含身份證、社???、CPU、M1、磁條卡、銀行卡等卡)
廣東東信智能科技有限公司DONSEE EST-100系列Windows系統(tǒng)開發(fā)包(含身份證、社保卡、CPU、M1、磁條卡、銀行卡等卡),支持EST-100、EST-100G、EST-J13X、EST-100GS等機(jī)型。
開發(fā)包支持多種語言開發(fā),提供了C#、Delphi、Java、PB、Python、Qt、VB.Net、VB6、VC、JS等多個(gè)開發(fā)語Demo,僅供開發(fā)人員和測(cè)試人員使用。
Windows平臺(tái)開發(fā)包下載地址:
Windows開發(fā)包V2.1下載 20241231↓
以下為更早版本:
Windows微軟運(yùn)行庫(kù)(部分Win11電腦可能需要安裝這個(gè))
Windows開發(fā)包V2.0下載 20241123↓
Windows開發(fā)包V1.9下載 20240914↓
Windows開發(fā)包V1.9下載 20240626↓
Windows開發(fā)包V1.9下載 20240111↓
Windows開發(fā)包V1.9下載 20231225↓
Windows開發(fā)包V1.8下載 20231024↓
Windows開發(fā)包V1.8下載 20230916↓
Windows開發(fā)包V1.7下載 20230831↓
Windows開發(fā)包V1.7下載 20230704↓
Windows開發(fā)包V1.7下載 20230718↓
Windows開發(fā)包V1.9下載 20240710↓
DONSEE系列多功能讀寫器Windows API接口規(guī)范V1.8
donsee32.dll(依賴庫(kù):WltRS.dll)
donsee64.dll(依賴庫(kù):DLL_File.dll、license.dat)
廣東東信智能科技有限公司
gzwubang.com
2023.09.16
DONSEE系列多功能讀寫器1
API接口規(guī)范V1.81
1、東信智能讀寫器(SDK)簡(jiǎn)介5
2、函數(shù)說明5
2.1通用函數(shù)5
2.1.1 Donsee_Open打開設(shè)備5
2.1.2 Donsee_Clse關(guān)閉設(shè)備5
2.1.3 Donsee_Beep蜂鳴器函數(shù)6
2.1.4 Donsee_Version讀取設(shè)備版本6
2.1.5 Donsee_WRSN 讀寫序列號(hào)(SN)6
2.2身份證7
2.2.1 Donsee_ReadIDCard讀取身份證信息7
2.2.2 Donsee_ReadSAMID 讀取模塊SAM碼8
2.2.3 Donsee_ReadIDCardUid 讀取身份證UID8
2.3社???span style="white-space: pre;">8
2.3.1 Donsee_ReadSSCard讀取社??ㄐ畔?span style="white-space: pre;">8
2.4非接觸類卡片前置函數(shù)9
2.4.1 Donsee_ICRequest請(qǐng)求卡片9
2.4.2 Donsee_ICAnticoll防碰撞9
2.4.3 Donsee_ICSelect選擇卡片9
2.4.4 Donsee_SwitchRF設(shè)備天線開關(guān)10
2.5 TypeA、TypeB卡10
2.5.1 Donsee_SetTypeA設(shè)置為TypeA10
2.5.2 Donsee_SetTypeB設(shè)置為TypeB10
2.5.3 Donsee_PowerOnTypeA TypeA卡上電復(fù)位11
2.5.4 Donsee_PowerOnTypeB TypeB卡上電復(fù)位11
2.5.5 Donsee_APDU執(zhí)行APDU命令11
2.6 M1卡12
2.6.1 Donsee_M1VerifyPass M1卡認(rèn)證秘鑰12
2.6.2 Donsee_M1VerifyPassHEX M1卡認(rèn)證秘鑰12
2.6.3 Donsee_M1Read M1卡讀卡12
2.6.4 Donsee_M1Write M1卡寫卡13
2.6.5 Donsee_M1Initval M1卡初始化13
2.6.6 Donsee_M1Increment M1卡增值13
2.6.7 Donsee_M1Decrement M1卡減值14
2.6.8 Donsee_M1Readval M1卡讀值14
2.6.9 Donsee_M1LoadKey M1卡裝載密鑰14
2.6.10 Donsee_M1Verify M1卡裝載密鑰15
2.6.11 Donsee_ReadICUid讀取M1和CPU卡的Uid卡號(hào)15
2.7接觸CPU卡15
2.7.1 Donsee_PowerOn CPU卡上電復(fù)位15
2.7.2 Donsee_ColdPowerOn 冷復(fù)位16
2.7.3 Donsee_HotPowerOn 熱復(fù)位16
2.7.4 Donsee_APDU CPU卡執(zhí)行APDU命令16
2.7.5 Donsee_PowerOff下電17
2.7.6 Donsee_GetStatus獲取卡座狀態(tài)17
2.8 15693卡18
2.8.1 Donsee_15693_Find 15693尋卡18
2.8.2 Donsee_15693_Info 15693獲取卡片詳細(xì)信息18
2.8.3 Donsee_15693_Read 15693讀卡18
2.8.4 Donsee_15693_Write 15693寫卡18
2.8.5 Donsee_15693_WriteAFI 15693寫AFI19
2.8.6 Donsee_15693_LockAFI 15693鎖AFI19
2.8.7 Donsee_15693_WriteDSFID 15693寫DSFID19
2.8.8 Donsee_15693_LockDSFID 15693鎖DSFID20
2.8.9 Donsee_15693_LockDataBlock用于鎖定塊內(nèi)容20
2.9 SLE4442卡20
2.9.1 Donsee_4442_PowerOn 4442卡上電20
2.9.2 Donsee_4442_PowerOff 4442卡下電20
2.9.3 Donsee_4442_Read 4442卡讀數(shù)據(jù)21
2.9.4 Donsee_4442_Write 4442卡寫數(shù)據(jù)21
2.9.5 Donsee_4442_Verify 4442卡認(rèn)證密鑰21
2.9.6 Donsee_4442_Change 4442卡修改密鑰22
2.9.7 Donsee_4442_ReadProtect 4442卡讀保護(hù)數(shù)據(jù)22
2.9.8 Donsee_4442_WriteProtect 4442卡寫保護(hù)數(shù)據(jù)22
2.9.9 Donsee_4442_ReadCount 4442卡密鑰剩余認(rèn)證次數(shù)23
2.10磁條卡23
2.10.1 Donsee_ReadMagCard磁條卡讀卡23
2.10.2 Donsee_ReadMagType設(shè)置輸出模式23
2.11北京通24
2.11.1 Donsee_ReadBJTIDCard讀取北京通信息24
2.11.2 Donsee_ReadBJTIDCard_Photo讀取北京通照片25
2.12輔助類函數(shù)25
2.12.1 Donsee_HexToStr 16進(jìn)制數(shù)組轉(zhuǎn)字符串25
2.12.2 Donsee_StrToHex 字符串轉(zhuǎn)16進(jìn)制數(shù)組25
2.13社??用軝C(jī)26
2.13.1 Donsee_iReadCardBas讀基本信息26
2.13.2 Donsee_iReadCardBas_HSM_Step1加密機(jī)步驟126
2.13.3 Donsee_iReadCardBas_HSM_Step2加密機(jī)步驟227
2.13.4 Donsee_getTerminalNo獲取終端機(jī)編號(hào)27
2.13.5 Donsee_ChipSerial獲取芯片序列號(hào),即終端設(shè)備號(hào)28
3、狀態(tài)碼28
4、卡片調(diào)用順序30
4.1 TypeA卡30
4.2 TypeB卡30
4.3 M1卡30
4.4 4442卡30
4.5 接觸CPU卡30
1、DONSEE讀卡器SDK簡(jiǎn)介
本文檔描述了廣東東信智能科技有限公司DONSEE系列讀寫器SDK的函數(shù)定義、調(diào)用方法、參數(shù)以及返回值說明,供開發(fā)人員進(jìn)行二次開發(fā)時(shí)使用。
2、函數(shù)說明
2.1通用函數(shù)
2.1.1 Donsee_Open打開設(shè)備
定義:打開設(shè)備端口
原型:
long Donsee_Open(char* dev_Name)
參數(shù):
dev_Name[in]windows:USB設(shè)備傳入”USB”;串口設(shè)備傳入”COM1” “COM2”等
Android:USB設(shè)備傳入”USB”;”ttyS0”,”ttyUSB0”,”ttySAC0”等
返回值:
0:打開設(shè)備成功;
非0:打開設(shè)備失敗,參考狀態(tài)碼
2.1.2 Donsee_Close關(guān)閉設(shè)備
定義:關(guān)閉設(shè)備端口
原型:
long Donsee_Close()
參數(shù):無
返回值:
0:關(guān)閉設(shè)備成功;
非0:關(guān)閉設(shè)備失敗,參考狀態(tài)碼
2.1.3 Donsee_Beep蜂鳴器函數(shù)
定義:調(diào)用設(shè)備蜂鳴器
原型:
long Donsee_Beep()
參數(shù):無
返回值:
0:調(diào)用蜂鳴器成功;
非0:調(diào)用蜂鳴器失敗,參考狀態(tài)碼
2.1.4 Donsee_Version讀取設(shè)備版本
定義:讀取設(shè)備版本號(hào)
原型:
long Donsee_Version (char* pszVersion)
參數(shù):
pszVersion [out]設(shè)備版本號(hào)
返回值:
0:獲取設(shè)備版本成功;
非0:獲取設(shè)備版本失敗,參考狀態(tài)碼
2.1.5 Donsee_WRSN 讀寫序列號(hào)(SN)
定義:寫入(讀取)設(shè)備序列號(hào)
原型:
long Donsee_WRSN (int nType, char* pszSerial)
參數(shù):
nType[in]讀寫類型:0,寫入序列號(hào);1,讀取序列號(hào)
pszSerial[in|out]nType = 0時(shí),[in]寫入序列號(hào)數(shù)據(jù);nType = 1時(shí),[out]讀出序列號(hào)數(shù)據(jù)
返回值:
0:序列號(hào)操作成功;
非0:序列號(hào)操作失敗,參考狀態(tài)碼
2.2身份證
// 支持 0、J、I、Y 四種證件,共計(jì)18項(xiàng),請(qǐng)根據(jù)證件類型獲取對(duì)應(yīng)信息
// 0:居民身份證
// J:港澳臺(tái)居民居住證
// I:2017版外國(guó)人永久居留身份證
// Y:新版外國(guó)人永久居留身份證
typedef struct
{
char name[40];/*中文姓名: 0 J I Y */
char ENfullname[40];/*英文姓名(Y時(shí)需要和Other英文姓名備用組合起來): I Y */
char sex[10];/*性別: 0 I J Y */
char people[20];/*民族或國(guó)籍, 0 時(shí)為民族, I Y 時(shí)為國(guó)籍*/
char address[200];/*地址: 0 J Y, Y 時(shí)為既往版本永居證號(hào)碼 */
char birthday[50];/*出生日期(YYYYMMDD): 0 J I Y */
char signdate[50];/*發(fā)證日期(YYYYMMDD): 0 J I Y */
char validterm[50];/*有效日期(YYYYMMDD): 0 J I Y */
char number[40];/*證件號(hào)碼: 0 I J Y */
char organs[50]; /*發(fā)證機(jī)關(guān)(或外國(guó)人永久居證-當(dāng)次申請(qǐng)受理機(jī)關(guān)): 0 J I Y */
char Nationality[200];/*國(guó)籍代碼: I Y */
char Photo[2049];/*相片原始信息: 0 J I Y */
char Other[200];/*其他 Y 時(shí)為英文姓名備用*/
char passNu[24];/*通行證號(hào)碼: J */
char signCount[8];/*簽發(fā)數(shù)次: J */
char certVersion[8];/* I 時(shí)為證件版本號(hào), Y 時(shí)為換證次數(shù) */
char certType[6]; /*證件類型: 0 J I Y */
char figData[2049];/*指紋信息: 0 J */
} IDINFO;
2.2.1 Donsee_ReadIDCard讀取身份證信息
定義:讀取身份證信息
原型:long Donsee_ReadIDCard (int nType,char* szPath,IDINFO* idinfo,char* pszMsg);
參數(shù):
nType [in]:設(shè)置身份證讀卡類型:0,文本信息;1,文本+照片;2,文本+照片+指紋
szPath[in]:獲取二代證頭像路徑
idinfo [out];獲取的身份證信息
pszMsg [out];錯(cuò)誤信息
返回值:
0:讀取身份證信息成功;
非0:讀取身份證信息失敗,參考狀態(tài)碼
2.2.2 Donsee_ReadSAMID 讀取模塊SAM碼
定義:讀取身份證模塊SAM碼
原型:long Donsee_ReadSAMID (char* pszSAMID);
參數(shù):
pszSAMID [out] 身份證模塊SAM碼
返回值:
0:讀取身份證模塊SAM碼成功;
非0:讀取身份證模塊SAM碼失敗,參考狀態(tài)碼
2.2.3 Donsee_ReadIDCardUid 讀取身份證UID
定義:讀取身份證UID
原型:long Donsee_ReadIDCardUid(char* pszUID);
參數(shù):
pszUID [out] 身份證UID碼
返回值:
0:讀取身份證UID成功;
非0:讀取身份證UID失敗,參考狀態(tài)碼
2.3社???/p>
/*********************社保卡讀取 特別注意事項(xiàng)**********************
1、二代社??梢灾苯幼x取,只支持插卡(接觸式)方式讀取。
2、三代社保卡加密了,需要PSAM卡才能讀取,支持插卡(接觸式)和非接觸式兩種讀取方式。
3、如果插PSAM卡了,讀卡失敗,需要留意以下返回值:
-25536、-25537、-25538、-25539、-25540、-25541,外部認(rèn)證失敗,表示剩余可嘗試次數(shù)0~5次,當(dāng)返回-25536社??ň玩i卡了。
*********************社??ㄗx取 特別注意事項(xiàng)**********************/
typedef struct
{
char name[40]; /*姓名*/
char sex[10];/*性別*/
char nation[20];/*民族*/
char birthday[50]; /*出生日期(YYYYMMDD)*/
char signdate[50]; /*發(fā)證日期(YYYYMMDD)*/
char validterm[50]; /*有效日期(YYYYMMDD)*/
char cardnumber[40];/*卡號(hào)*/
char idnumber[40];/*社會(huì)保障號(hào)碼(身份證號(hào))*/
char city[64] ;/*城市代碼*/
char cardveVrsion[8] ;/*社??ò姹?/
char Other[200];/*其他*/
} SSCard_IDINFO;
2.3.1 Donsee_ReadSSCard讀取社保卡信息
定義:讀取二代、三代社保卡
原型:
long Donsee_ReadSSCard (int nSlotPsam,
SSCard_IDINFO* cardInfo,
char* pszChMsg);
參數(shù):
nSlotPsam [int] PSAM存放卡座,0x11 SAM1, 0x12 SAM2, 0x13 SAM3, 0x14 SAM4
cardInfo [out] 社??ㄐ畔?/p>
pszChMsg [out] 錯(cuò)誤信息
返回值:
0:讀取社??ǔ晒?;
非0:讀取社??ㄊ?,參考狀態(tài)碼
備注:二代社??o需PSAM卡,只支持接觸式讀取。三代社??ū仨毰鋫銹SAM卡,支持接觸、非接兩種方式讀取。
2.4非接觸類卡片前置函數(shù)
2.4.1 Donsee_ICRequest請(qǐng)求卡片
定義:請(qǐng)求卡片
原型:
long Donsee_ICRequest ()
參數(shù):
返回值:
0:請(qǐng)求卡片成功;
非0:請(qǐng)求卡片失敗,參考狀態(tài)碼
2.4.2 Donsee_ICAnticoll防碰撞
定義:卡片防碰撞
原型:
long Donsee_ICAnticoll (char* pszUID)
參數(shù):
pszUID [out]卡片序列號(hào)Uid
返回值:
0:卡片防碰撞成功;
非0:卡片防碰撞失敗,參考狀態(tài)碼
2.4.3 Donsee_ICSelect選擇卡片
定義:選擇卡片
原型:
long Donsee_ICSelect (unsigned char nCardType)
參數(shù):
nCardType [in]0x41 表示 typeA 及M1 卡,0x42 表示 typeB卡
返回值:
0:選擇卡片成功;
非0:選擇卡片失敗,參考狀態(tài)碼
2.4.4 Donsee_SwitchRF設(shè)備天線開關(guān)
定義:設(shè)備天線開關(guān)
原型:
long Donsee_SwitchRF (int nFlag)
參數(shù):
nType1,打開設(shè)備天線;0,關(guān)閉設(shè)備天線
返回值:
0:天線開關(guān)操作成功;
非0:天線開關(guān)操作失敗,參考狀態(tài)碼
2.5 TypeA、TypeB卡
2.5.1 Donsee_SetTypeA設(shè)置為TypeA
定義:設(shè)置為TypeA卡
原型:
long Donsee_SetTypeA ()
參數(shù):
返回值:
0:設(shè)置為TypeA卡成功;
非0:設(shè)置為TypeA卡失敗,參考狀態(tài)碼
2.5.2 Donsee_SetTypeB設(shè)置為TypeB
定義:設(shè)置為TypeB卡
原型:
long Donsee_SetTypeB ()
參數(shù):
返回值:
0:設(shè)置為TypeB卡成功;
非0:設(shè)置為TypeB卡失敗,參考狀態(tài)碼
2.5.3 Donsee_PowerOnTypeA TypeA卡上電復(fù)位
定義:TypeA上電
原型:
long Donsee_ PowerOnTypeA (char* pszAtr)
參數(shù):
pszAtr [out]卡片復(fù)位信息(ATR)
返回值:
0:TypeA上電成功;
非0:TypeA上電失敗,參考狀態(tài)碼
2.5.4 Donsee_PowerOnTypeB TypeB卡上電復(fù)位
定義:TypeB上電
原型:
long Donsee_PowerOnTypeB(char* pszAtr)
參數(shù):
pszAtr [out]卡片復(fù)位信息(ATR)
返回值:
0:TypeB上電成功;
非0:TypeB上電失敗,參考狀態(tài)碼
2.5.5 Donsee_APDU執(zhí)行APDU命令
定義:TypeA|TypeB執(zhí)行APDU命令
原型:
long Donsee_APDUType(char* szAPDUCmd, char* pszAPDUResult);
參數(shù):
szAPDUCmd [in]下發(fā)APDU命令(字符串”0084000008”)
pszAPDUResult [out]執(zhí)行APDU相應(yīng)數(shù)據(jù)(字符串如”9000”)
返回值:
0:執(zhí)行APDU命令成功;
非0:執(zhí)行APDU命令失敗,參考狀態(tài)碼
2.6 M1卡
2.6.1 Donsee_M1VerifyPass M1卡認(rèn)證秘鑰
定義:M1卡認(rèn)證秘鑰
原型:
long Donsee_M1VerifyPass (unsigned char nMode,unsigned char nSecNr,char *szPassKey)
參數(shù):
nMode [in]認(rèn)證模式,0x60認(rèn)證KeyA, 0x61認(rèn)證KeyB
nSecNr [in]扇區(qū)號(hào) (0~15)
szPassKey [in]密鑰(如:”FFFFFFFFFFFF”)
返回值:
0:M1卡認(rèn)證秘鑰成功;
非0:M1卡認(rèn)證秘鑰失敗,參考狀態(tài)碼
2.6.2 Donsee_M1VerifyPassHEX M1卡認(rèn)證秘鑰
定義:M1卡認(rèn)證秘鑰
原型:
long Donsee_M1VerifyPassHex (unsigned char nMode, unsigned char nSecNr,unsigned char * szPassKey))
參數(shù):
nMode [in]認(rèn)證模式,0x60認(rèn)證KeyA, 0x61認(rèn)證KeyB
nSecNr [in]扇區(qū)號(hào) (0~15)
szPassKey [in]密鑰(如:{0xff,0xff,0xff ,0xff ,0xff ,0xff })
返回值:
0:M1卡認(rèn)證秘鑰成功;
非0:M1卡認(rèn)證秘鑰失敗,參考狀態(tài)碼
2.6.3 Donsee_M1Read M1卡讀卡
定義:M1卡讀卡
原型:
long Donsee_M1Read(unsigned char nAddr, unsigned char *pszData)
參數(shù):
nAddr [in]塊號(hào)(S50該值范圍0~63| S70該值范圍0~255)
pszData [out]讀取數(shù)據(jù)
返回值:
0:M1卡讀卡成功;
非0:M1卡讀卡失敗,參考狀態(tài)碼
2.6.4 Donsee_M1Write M1卡寫卡
定義:M1卡寫卡
原型:
long Donsee_M1Write(unsigned char nAddr, char *pszData)
參數(shù):
nAddr [in]塊號(hào)(S50該值范圍0~63| S70該值范圍0~255)
pszData [in]讀取數(shù)據(jù)
塊地址計(jì)算公式:塊地址=扇區(qū)號(hào)*4+當(dāng)前塊號(hào)
返回值:
0:M1卡寫卡成功;
非0:M1卡寫卡失敗,參考狀態(tài)碼
2.6.5 Donsee_M1Initval M1卡初始化
定義:M1卡初始化
原型:
long Donsee_M1Initval (unsigned char nAddr, unsigned long nValue)
參數(shù):
nAddr[in]塊號(hào)(S50該值范圍0~63| S70該值范圍0~255)
nValue [in]數(shù)值
返回值:
0:M1卡初始化成功;
非0:M1卡初始化失敗,參考狀態(tài)碼
2.6.6 Donsee_M1Increment M1卡增值
定義:M1卡增值
原型:
long Donsee_M1Increment (unsigned char nAddr, unsigned long nValue)
參數(shù):
nAddr[in]塊號(hào)(S50該值范圍0~63| S70該值范圍0~255)
nValue [in]數(shù)值
返回值:
0:M1卡增值成功;
非0:M1卡增值失敗,參考狀態(tài)碼
2.6.7 Donsee_M1Decrement M1卡減值
定義:M1卡減值
原型:
long Donsee_M1Decrement (unsigned char nAddr, unsigned long nValue)
參數(shù):
nAddr[in]塊號(hào)(S50該值范圍0~63| S70該值范圍0~255)
nValue [in]數(shù)值
返回值:
0:M1卡減值成功;
非0:M1卡減值失敗,參考狀態(tài)碼
2.6.8 Donsee_M1Readval M1卡讀值
定義:M1卡讀值
原型:
long Donsee_M1Readval (unsigned char nAddr, unsigned long* nValue)
參數(shù):
nAddr[in]塊號(hào)(S50該值范圍0~63| S70該值范圍0~255)
nValue [out]數(shù)值
返回值:
0:M1卡讀值成功;
非0:M1卡讀值失敗,參考狀態(tài)碼
2.6.9 Donsee_M1LoadKey M1卡裝載密鑰
定義:裝載M1卡密鑰到設(shè)備
原型:
long Donsee_M1LoadKey (unsigned char nMode, unsigned char nSecNr,char *PassWord);;
)
參數(shù):
nMode [in]認(rèn)證模式,0x60認(rèn)證KeyA, 0x61認(rèn)證KeyB
nSecNr [in]扇區(qū)號(hào) (0~15)
PassWord [in]待下載到設(shè)備的密鑰,如”FFFFFFFFFFFF”
例子:
char key[16]= ”FFFFFFFFFFFF”;
int nRe = Donsee_M1LoadKey (0,0,key);//下載扇區(qū)0的KeyA密鑰至設(shè)備里
返回值:
0:M1卡裝載密鑰成功;
非0:M1卡裝載密鑰失敗,參考狀態(tài)碼
2.6.10 Donsee_M1Verify M1卡裝載密鑰
定義:裝載M1卡密鑰到設(shè)備
原型:
long Donsee_M1Verify(unsigned char nMode, unsigned char nSecNr)
參數(shù):
nMode [in]認(rèn)證模式,0x60認(rèn)證KeyA, 0x61認(rèn)證KeyB
nSecNr [in]扇區(qū)號(hào) (0~15)
返回值:
0:M1卡認(rèn)證裝載密鑰成功;
非0:M1卡認(rèn)證裝載密鑰失敗,參考狀態(tài)碼
2.6.11 Donsee_ReadICUid讀取M1和CPU卡的Uid卡號(hào)
定義:讀取M1和CPU卡UID,僅僅用于串口設(shè)備,不支持USB讀取。USB請(qǐng)用M1卡尋卡功能。
原型:
long Donsee_ReadICUid (char* pszUID)
參數(shù):
pszUID[out]卡片UID
返回值:
0:讀取M1和CPU卡的Uid卡號(hào)成功;
非0:讀取M1和CPU卡的Uid卡號(hào)失敗,參考狀態(tài)碼
2.7接觸CPU卡
2.7.1 Donsee_PowerOn CPU卡上電復(fù)位
定義:CPU卡上電復(fù)位
原型:
long Donsee_PowerOn (unsigned char nSlotNo, char* pszAtr)
參數(shù):
nSlotNo[in]卡座選擇:0x01 大卡座, 0x02:副卡座 ;
0x11:SAM1卡座;0x12:SAM2卡座;
0x13:SAM3卡座;0x14:SAM4卡座
pszAtr [out]卡片返回復(fù)位信息數(shù)據(jù)
返回值:
0:卡片復(fù)位成功;
非0:卡片復(fù)位失敗,參考狀態(tài)碼
2.7.2 Donsee_ColdPowerOn 冷復(fù)位
定義:接觸CPU卡冷復(fù)位
原型:
long Donsee_ColdPowerOn (unsigned char nSlotNo, char* pszAtr)
參數(shù):
nSlotNo[in]卡座選擇:0x01 大卡座, 0x02:副卡座 ;
0x11:SAM1卡座;0x12:SAM2卡座;
0x13:SAM3卡座;0x14:SAM4卡座
pszAtr [out]卡片返回復(fù)位信息數(shù)據(jù)
返回值:
0:卡片復(fù)位成功;
非0:卡片復(fù)位失敗,參考狀態(tài)碼
2.7.3 Donsee_HotPowerOn 熱復(fù)位
定義:接觸CPU卡熱復(fù)位
原型:
long Donsee_HotPowerOn (unsigned char nSlotNo, char* pszAtr)
參數(shù):
nSlotNo[in]卡座選擇:0x01 大卡座, 0x02:副卡座 ;
0x11:SAM1卡座;0x12:SAM2卡座;
0x13:SAM3卡座;0x14:SAM4卡座
chResponse [out]卡片返回復(fù)位信息數(shù)據(jù)
返回值:
0:卡片復(fù)位成功;
非0:卡片復(fù)位失敗,參考狀態(tài)碼
2.7.4 Donsee_APDU CPU卡執(zhí)行APDU命令
定義:執(zhí)行APDU命令
原型:
long Donsee _APDU(unsigned char nSlotNo,
char* szAPDUCmd,
char* pszAPDUResult)
參數(shù):
nSlotNo[in]卡座選擇:0x01 大卡座, 0x02:副卡座 ;
0x11:SAM1卡座;0x12:SAM2卡座;
0x13:SAM3卡座;0x14:SAM4卡座
szAPDUCmd [in]下發(fā)APDU命令(字符串”0084000008”)
pszAPDUResult [out]執(zhí)行APDU相應(yīng)數(shù)據(jù)(字符串如”9000”)
返回值:
0:執(zhí)行APDU命令成功;
非0:執(zhí)行APDU命令失敗,參考狀態(tài)碼
2.7.5 Donsee_PowerOff下電
定義:CPU卡下電
原型:
long Donsee_PowerOff (unsigned char nSlotNo)
參數(shù):
nSlotNo[in]卡座選擇:0x01 大卡座, 0x02:副卡座 ;
0x11:SAM1卡座;0x12:SAM2卡座;
0x13:SAM3卡座;0x14:SAM4卡座
返回值:
0:CPU卡下電成功;
非0:CPU卡下電失敗,參考狀態(tài)碼
2.7.6 Donsee_GetStatus獲取卡座狀態(tài)
定義:獲取卡座狀態(tài)
原型:
long Donsee_GetStatus(unsigned char nSlotNo,int* nStatus)
參數(shù):
nSlotNo[in]卡座選擇:0x01 大卡座, 0x02:副卡座 ;
0x11:SAM1卡座;0x12:SAM2卡座;
0x13:SAM3卡座;0x14:SAM4卡座
nStatus[out]卡座狀態(tài):為 0 表示有卡上電,1表示有卡未上,2表示無卡
返回值:
0:獲取卡座狀態(tài)成功;
非0:獲取卡座狀態(tài)失敗,參考狀態(tài)碼
2.8 15693卡
2.8.1 Donsee_15693_Find 15693尋卡
定義:15693尋卡
原型:
long Donsee_15693_Find (char* pszUID)
參數(shù):
pszUID [out]尋卡得到8字節(jié)卡片數(shù)據(jù);
返回值:
0:15693尋卡成功;
非0:15693尋卡失敗,參考狀態(tài)碼
2.8.2 Donsee_15693_Info 15693獲取卡片詳細(xì)信息
定義:獲取15693卡詳細(xì)信息
原型:
long Donsee_15693_Info (char* pszCardInfo)
參數(shù):
pszCardInfo [out]14字節(jié)卡片數(shù)據(jù);
返回值:
0:獲取15693卡詳細(xì)信息成功;
非0:獲取15693卡詳細(xì)信息失敗,參考狀態(tài)碼
2.8.3 Donsee_15693_Read 15693讀卡
定義:15693讀卡
原型:
long Donsee_15693_Read (unsigned char nBlkAdd, char* pszValue)
參數(shù):
nBlkAdd[in]塊地址
pszValue [out]4字節(jié)卡片數(shù)據(jù);
返回值:
0:15693讀卡成功;
非0:15693讀卡失敗,參考狀態(tài)碼
2.8.4 Donsee_15693_Write 15693寫卡
定義:15693寫卡
原型:
long Donsee_15693_Write (unsigned char nBlkAdd, char* szData)
參數(shù):
nBlkAdd[in]塊地址
szData [in]要寫入的4字節(jié)卡片數(shù)據(jù);
返回值:
0:15693寫卡成功;
非0:15693寫卡失敗,參考狀態(tài)碼
2.8.5 Donsee_15693_WriteAFI 15693寫AFI
定義:15693寫AFI
原型:
long Donsee_15693_WriteAFI (unsigned char szValue, char* pszValue)
參數(shù):
szValue [in]寫入的值
pszValue [in]NULL
返回值:
0:15693寫AFI成功;
非0:15693寫AFI失敗,參考狀態(tài)碼
2.8.6 Donsee_15693_LockAFI 15693鎖AFI
定義:15693寫AFI
原型:
long Donsee_15693_LookAFI (char* pszValue)
參數(shù):
pszValue [in]返回的值
返回值:
0:15693鎖AFI成功;
非0:15693鎖AFI失敗,參考狀態(tài)碼
2.8.7 Donsee_15693_WriteDSFID 15693寫DSFID
定義:15693寫DSFID
原型:
long Donsee_15693_WriteDSFID (unsigned char szValue, char* pszValue)
參數(shù):
szValue [in]寫入的值
pszValue [in]NULL
返回值:
0:15693寫DSFID成功;
非0:15693寫DSFID 失敗,參考狀態(tài)碼
2.8.8 Donsee_15693_LockDSFID 15693鎖DSFID
定義:15693鎖DSFID
原型:
long Donsee_15693_LockDSFID (char* pszValue )
參數(shù):
pszValue [in]返回的值
返回值:
0:15693鎖DSFID成功;
非0:15693鎖DSFID失敗,參考狀態(tài)碼
2.8.9 Donsee_15693_LockDataBlock用于鎖定塊內(nèi)容
定義:用于鎖定塊內(nèi)容。注意:此過程不可逆(不能解鎖)塊鎖定后內(nèi)容不能在修改。
原型:
long Donsee_15693_LockDataBlock(unsigned char nBlk_add, char* pszValue)
參數(shù):
nBlk_add [in]塊地址
pszValue [out]返回?cái)?shù)據(jù)
返回值:
0:15693鎖塊內(nèi)容成功;
非0:15693鎖塊內(nèi)容失敗,參考狀態(tài)碼
2.9 SLE4442卡
2.9.1 Donsee_4442_PowerOn 4442卡上電
定義:4442卡上電
原型:
long Donsee_4442_PowerOn (char* pszUID)
參數(shù):
pszUID [out]上電返回?cái)?shù)據(jù),4字節(jié)廠商代碼
返回值:
0:4442卡上電成功;
非0:4442卡上電失敗,參考狀態(tài)碼
2.9.2 Donsee_4442_PowerOff 4442卡下電
定義:4442卡下電
原型:
long Donsee_4442_PowerOff ()
參數(shù):
返回值:
0:4442卡下電成功;
非0:4442卡下電失敗,參考狀態(tài)碼
2.9.3 Donsee_4442_Read 4442卡讀數(shù)據(jù)
定義:4442卡讀取數(shù)據(jù)
原型:
long Donsee_4442_Read (int nOffset, int nLen, char* pszData)
參數(shù):
nOffset[in]起始地址
nLen[in]讀取數(shù)據(jù)長(zhǎng)度
pszData [iout]讀取的數(shù)據(jù)內(nèi)容
返回值:
0:4442卡讀取數(shù)據(jù)成功;
非0:4442卡讀取數(shù)據(jù)失敗,參考狀態(tài)碼
2.9.4 Donsee_4442_Write 4442卡寫數(shù)據(jù)
定義:4442卡寫入數(shù)據(jù)
原型:
long Donsee_4442_Write (int nOffset, int nLen, char* szData)
參數(shù):
nOffset[in]起始地址
nLen[in]寫入數(shù)據(jù)長(zhǎng)度
szData [in]寫入的數(shù)據(jù)內(nèi)容
返回值:
0:4442卡寫入數(shù)據(jù)成功;
非0:4442卡寫入數(shù)據(jù)失敗,參考狀態(tài)碼
2.9.5 Donsee_4442_Verify 4442卡認(rèn)證密鑰
定義:4442卡認(rèn)證秘鑰
原型:
long Donsee_4442_Verify(char* szKey)
參數(shù):
szKey [in]秘鑰數(shù)據(jù),如unsigned char chKey [4]={0xff,0xff,0xff};
返回值:
0:4442卡認(rèn)證秘鑰成功;
非0:4442卡認(rèn)證秘鑰失敗,參考狀態(tài)碼
2.9.6 Donsee_4442_Change 4442卡修改密鑰
定義:4442卡修改秘鑰
原型:
long Donsee_4442_Change (char *szNewKey)
參數(shù):
szNewKey [in]秘鑰數(shù)據(jù),如unsigned char chNewKey [4]={0xff,0xff,0xff};
返回值:
0:4442卡修改密鑰成功;
非0:4442卡修改密鑰失敗,參考狀態(tài)碼
2.9.7 Donsee_4442_ReadProtect 4442卡讀保護(hù)數(shù)據(jù)
定義:4442卡讀取保護(hù)數(shù)據(jù)
原型:
long Donsee_4442_ReadProtect (int nOffset, int nLen, char* pszData)
參數(shù):
nOffset[in]起始地址,起始地址 需小于32
nLen[in]讀取數(shù)據(jù)長(zhǎng)度,數(shù)據(jù)長(zhǎng)度 需小于32
pszData [iout]讀取的數(shù)據(jù)內(nèi)容,返回值為一串00或01的數(shù)據(jù)串,如果為00代表已寫保護(hù),如果為01代表未寫保護(hù)
返回值:
0:4442卡讀保護(hù)數(shù)據(jù)成功;
非0:4442卡讀保護(hù)數(shù)據(jù)失敗,參考狀態(tài)碼
2.9.8 Donsee_4442_WriteProtect 4442卡寫保護(hù)數(shù)據(jù)
定義:4442卡寫入保護(hù)數(shù)據(jù),即固化數(shù)據(jù),一旦寫保護(hù),數(shù)據(jù)將不能再修改
原型:
long Donsee_4442_WriteProtect (int nOffset, int nLen, char* szData)
參數(shù):
nOffset[in]起始地址,起始地址 需小于32
nLen[in]讀取數(shù)據(jù)長(zhǎng)度,數(shù)據(jù)長(zhǎng)度 需小于32
szData [in]讀取的數(shù)據(jù)內(nèi)容,返回值為一串00或01的數(shù)據(jù)串,如果為00代表已寫保護(hù),如果為01代表未寫保護(hù)
返回值:
0:4442卡寫保護(hù)數(shù)據(jù)成功;
非0:4442卡寫保護(hù)數(shù)據(jù)失敗,參考狀態(tài)碼
2.9.9 Donsee_4442_ReadCount 4442卡密鑰剩余認(rèn)證次數(shù)
定義:4442卡密鑰剩余認(rèn)證次數(shù)
原型:
long Donsee_4442_ReadCount (int* nCount)
參數(shù):
nCount [out]4442卡密鑰剩余認(rèn)次數(shù)
返回值:
0:獲取4442卡密鑰剩余認(rèn)證次數(shù)成功;
非0:獲取4442卡密鑰剩余認(rèn)證次數(shù)失敗,參考狀態(tài)碼
2.10磁條卡
2.10.1 Donsee_ReadMagCard磁條卡讀卡
定義:磁條卡讀卡
原型:
long Donsee_ReadMagCard (unsigned char nTime,int nTrack,char *pszTrackData)
參數(shù):
ctime[in]超時(shí)時(shí)間,單位:秒
track [in]磁道(1~3)磁道1~~磁道3,track=4時(shí)表示全軌一次性刷出
為TLV格式,例如:010101020201020303010203
getdata [out]返回的數(shù)據(jù)
返回值:
0:磁條卡讀卡成功;
非0:磁條卡讀卡失敗,參考狀態(tài)碼
2.10.2 Donsee_ReadMagType設(shè)置輸出模式
定義:磁條卡設(shè)置輸出模式
原型:
long Donsee_ReadMagType (int nMode, unsigned char* szConfig)
參數(shù):
nMode [in]0表示主動(dòng)讀卡,1表示被動(dòng)讀
szConfig [in]字符數(shù)組
szConfig [0]:0x01 磁道1
0x02 磁道2
0x03 磁道3
0x04 磁道2\3
szConfig [1]:0x00 全部輸出
0x01除去起始接收符輸出
0x02只輸出數(shù)據(jù)
szConfig [2]:0x00不換行輸出
0x01換行輸出
返回值:
0:磁條卡設(shè)置輸出模式成功;
非0:磁條卡設(shè)置輸出模式失敗,參考狀態(tài)碼
2.11北京通
typedef struct
{
char name[40]; /*姓名*/
char sex[10];/*性別*/
char cardnumber[40];/*北京通號(hào)*/
char nType[32] ;/*卡片類型*/
char cardName[40];/*證件名稱*/
char organs[50];/*發(fā)卡機(jī)構(gòu)*/
} BJT_IDINFO;
2.11.1 Donsee_ReadBJTIDCard讀取北京通信息
定義:讀取北京通信息
原型:
long Donsee_ReadBJTIDCard (BJT_IDINFO* cardInfo,char* arrChMsg);
參數(shù):
cardInfo [out] 北京通信息
arrChMsg [out] 錯(cuò)誤信息
返回值:
0:讀取北京通信息成功;
非0:讀取北京通信息失敗,參考狀態(tài)碼
2.11.2 Donsee_ReadBJTIDCard_Photo讀取北京通照片
定義:讀取北京通信息
原型:
long Donsee_ReadBJTIDCard_Photo (char* cardInfoPhoto,char* arrChMsg);
參數(shù):
cardInfoPhoto[in] 北京通照片保存路徑
arrChMsg [out] 錯(cuò)誤信息
返回值:
0:讀取北京通照片信息成功;
非0:讀取北京通照片信息失敗,參考狀態(tài)碼
2.12輔助類函數(shù)
2.12.1 Donsee_HexToStr 16進(jìn)制數(shù)組轉(zhuǎn)字符串
定義:16進(jìn)制數(shù)組轉(zhuǎn)字符串
原型:
long Donsee_HexToStr(unsigned char *Src,int len,unsigned char *Des );
參數(shù):
Src[in]:十六進(jìn)制數(shù)組
Len[in]:數(shù)據(jù)長(zhǎng)度
Des[out]:轉(zhuǎn)換好的hexstr格式字符串。
返回值:
0:16進(jìn)制數(shù)組轉(zhuǎn)字符串成功;
非0:16進(jìn)制數(shù)組轉(zhuǎn)字符串失敗,參考狀態(tài)碼
2.12.2 Donsee_StrToHex 字符串轉(zhuǎn)16進(jìn)制數(shù)組
定義:字符串轉(zhuǎn)16進(jìn)制數(shù)組
原型:long Donsee_StrToHex(unsigned char *Src, int len,unsigned char *Des);
參數(shù):
Src[in]:hexstr格式字符串
Len[in]:字節(jié)長(zhǎng)度
Des[out];轉(zhuǎn)換好的數(shù)據(jù)
返回值:
0:字符串轉(zhuǎn)16進(jìn)制數(shù)組成功;
非0:字符串轉(zhuǎn)16進(jìn)制數(shù)組失敗,參考狀態(tài)碼
2.13社??用軝C(jī)
2.13.1 Donsee_iReadCardBas讀基本信息
/*********************社??ㄗx取 特別注意事項(xiàng)**********************
1、二代社保卡可以直接讀取,只支持插卡(接觸式)方式讀取。
2、三代社??用芰?,需要PSAM卡才能讀取,支持插卡(接觸式)和非接觸式兩種讀取方式。
3、如果插PSAM卡了,讀卡失敗,需要留意以下返回值:
-25536、-25537、-25538、-25539、-25540、-25541,外部認(rèn)證失敗,表示剩余可嘗試次數(shù)0~5次,當(dāng)返回-25536社??ň玩i卡了。
*********************社??ㄗx取 特別注意事項(xiàng)**********************/
定義:讀基本信息
原型:
long Donsee_iReadCardBas(int nType, char *pOutInfo)
參數(shù):
nType [in]卡片類型默認(rèn)3, 接觸+非接(接觸優(yōu)先)
info [out]返回的數(shù)據(jù)
返回值:
0:讀卡成功;
非0:讀卡失敗,參考狀態(tài)碼
//返回格式:發(fā)卡地區(qū)行政區(qū)劃代碼(卡識(shí)別碼前6位)|社會(huì)保障號(hào)碼|卡號(hào)|卡識(shí)別碼|姓名|卡復(fù)位信息(僅取歷史字節(jié))|規(guī)范版本|發(fā)卡日期|卡有效期|終端機(jī)編號(hào)|終端設(shè)備號(hào)|
//返回舉例:
360700|360700199907151372|890642628|360700D156003335690999604657ED2D|張無忌|0081544B44869B160818107861|2.00|20180701|20280701|310000309109|65884835323437175132|
說明:此函數(shù)讀三代社保卡需要psam卡,否則返回-2201,二代社??梢灾苯幼x取
2.13.2 Donsee_iReadCardBas_HSM_Step1加密機(jī)步驟1
定義:加密機(jī)步驟1
原型:
long Donsee_iReadCardBas_HSM_Step1(int nType,char *pOutInfo)
參數(shù):
nType [in]卡片類型默認(rèn)3, 1接觸、2非接、3接觸+非接(接觸優(yōu)先)
info [out]返回的數(shù)據(jù)
返回值:
0:讀卡成功;
非0:讀卡失敗,參考狀態(tài)碼
//返回格式:發(fā)卡地行政區(qū)劃代碼|卡復(fù)位信息|算法標(biāo)識(shí)|卡識(shí)別碼|內(nèi)部認(rèn)證過程因子|內(nèi)部認(rèn)證鑒別所需的原始信息|外部認(rèn)證過程因子|外部認(rèn)證鑒別所需的原始信息|
//返回舉例:
440100|00814A66678660440100AC8FE3|03|440100D15600880600AC8FE3257118AC|7EFCD0C331DA50AC|0102030405060708|DB25A7E8ABD59B1B|0102030405060708|
2.13.3 Donsee_iReadCardBas_HSM_Step2加密機(jī)步驟2
定義:加密機(jī)步驟2
原型:
long Donsee_iReadCardBas_HSM_Step2 (char *key, char *pOutInfo)
參數(shù):
key [in] 密鑰,即加密機(jī)返回的信息
info [out]返回的數(shù)據(jù)
返回值:
0:讀卡成功;
非0:讀卡失敗,參考狀態(tài)碼
key為加密機(jī)返回的內(nèi)部認(rèn)證和外部認(rèn)證結(jié)果數(shù)據(jù),依次為:內(nèi)部認(rèn)證結(jié)果數(shù)據(jù)(即內(nèi)部認(rèn)證鑒別數(shù)據(jù)(16 位)和內(nèi)部認(rèn)證鑒別所需的原始信息(16 位)拼接組成)、外部認(rèn)證結(jié)果數(shù)據(jù)(即外部認(rèn)證鑒別數(shù)據(jù)(16 位)和外部認(rèn)證鑒別所需的原始信息(16 位)拼接組成)。各數(shù)據(jù)項(xiàng)之間以“|”分割,且最后一個(gè)數(shù)據(jù)項(xiàng)以“|”結(jié)尾。
例如:96BBD0687A1667AD0102030405060708|A52BFF7396EEE45F0102030405060708|
//返回格式(和Donsee_iReadCardBas一樣):發(fā)卡地區(qū)行政區(qū)劃代碼(卡識(shí)別碼前6位)|社會(huì)保障號(hào)碼|卡號(hào)|卡識(shí)別碼|姓名|卡復(fù)位信息(僅取歷史字節(jié))|規(guī)范版本|發(fā)卡日期|卡有效期|終端機(jī)編號(hào)|終端設(shè)備號(hào)|
//返回舉例:
360700|360700199907151372|890642628|360700D156003335690999604657ED2D|張無忌|0081544B44869B160818107861|2.00|20180701|20280701|310000309109|65884835323437175132|
2.13.4 Donsee_getTerminalNo獲取終端機(jī)編號(hào)
定義:讀取設(shè)備版本號(hào)
原型:
long Donsee_getTerminalNo (unsigned char nSlotNo,char* szTerminalNo)
參數(shù):
nSlotNo[in] PSAM存放卡座,0x11 SAM1, 0x12 SAM2, 0x13 SAM3, 0x14 SAM4
szTerminalNo[out] 社保加密PSAM卡卡號(hào),即終端機(jī)編號(hào),12位數(shù)據(jù),例如310000309109
返回值:
0:獲取終端機(jī)編號(hào)成功;
非0:獲取終端機(jī)編號(hào)失敗,參考狀態(tài)碼
2.13.5 Donsee_ChipSerial獲取芯片序列號(hào),即終端設(shè)備號(hào)
定義:讀取設(shè)備版本號(hào)
原型:
long Donsee_ChipSerial(char* pszChipSerial)
參數(shù):
pszChipSerial[out] 獲取芯片序列號(hào),即終端設(shè)備號(hào),20位數(shù)據(jù),例如65884835323437175132
返回值:
0:獲取終端設(shè)備號(hào)成功;
非0:獲取終端設(shè)備號(hào)失敗,參考狀態(tài)碼
3、狀態(tài)碼
IFD_OK0執(zhí)行成功
IFD_ICC_TypeError-1卡片類型不對(duì)
IFD_ICC_NoExist-2無卡
IFD_ICC_NoPower-3有卡未上電
IFD_ICC_NoResponse-4卡片無應(yīng)答
IFD_ConnectError-11讀卡器連接錯(cuò)
IFD_UnConnected-12未建立連接(沒有執(zhí)行打開設(shè)備函數(shù))
IFD_BadCommand-13(動(dòng)態(tài)庫(kù))不支持該命令
IFD_ParameterError-14(發(fā)給動(dòng)態(tài)庫(kù)的)命令參數(shù)錯(cuò)
IFD_CheckSumError-15信息校驗(yàn)和出錯(cuò)
社保卡狀態(tài)碼
返回值錯(cuò)誤信息描述
-1卡類型不對(duì)
-2無卡
-3有卡未上電
-4卡無應(yīng)答
-5加載動(dòng)態(tài)庫(kù)錯(cuò)
-11讀卡器連接錯(cuò)
-12未建立連接
-13(動(dòng)態(tài)庫(kù))不支持該命令
-14(發(fā)給動(dòng)態(tài)庫(kù)的)命令參數(shù)錯(cuò)
-15信息校驗(yàn)和出錯(cuò)
-20卡識(shí)別碼格式錯(cuò)
-21內(nèi)部認(rèn)證失?。ㄓ脩艨ú缓戏ǎ?/p>
-22傳入數(shù)據(jù)與卡內(nèi)不符
-23傳入數(shù)據(jù)不合法
-24PSAM卡密鑰級(jí)別不夠
-31用戶取消密碼輸入
-32密碼輸入操作超時(shí)
-33輸入密碼長(zhǎng)度錯(cuò)
-34兩次輸入密碼不一致
-35(預(yù)留)初始密碼不能交易
-36(預(yù)留)不能改為初始密碼
-41運(yùn)算數(shù)據(jù)含非法字符
-42運(yùn)算數(shù)據(jù)長(zhǎng)度錯(cuò)
-51PIN校驗(yàn)失敗,剩余次數(shù)N次(根據(jù)卡返回信息)
-52PIN鎖定
-2201無PSAM卡
-2202PSAM卡算法不支持(即PSAM卡內(nèi)沒有SSF33算法或SM4算法)
-2203PSAM卡內(nèi)沒有RKSSSE密鑰(3.0卡讀個(gè)人基本信息需要RKSSSE密鑰外部認(rèn)證)
-2204不需要加密機(jī)認(rèn)證
-25536、-25537、-25538、-25539、-25540、-25541外部認(rèn)證失敗,剩余可嘗試次數(shù)0~5次
-26368Lc/Le不正確
-26881命令不接受(無效狀態(tài))
-27009命令與文件結(jié)構(gòu)不相符、當(dāng)前文件非所需文件
-27010不滿足安全條件
-27011密鑰鎖定(算法鎖定)鑒別方法鎖定
-27012引用數(shù)據(jù)無效、隨機(jī)數(shù)無效
-27013不滿足使用條件、應(yīng)用被鎖定、應(yīng)用未選擇、余額上溢
-27016安全報(bào)文數(shù)據(jù)項(xiàng)不正確、MAC不正確
-27264數(shù)據(jù)域參數(shù)不正確
-27265不支持該功能、卡中無MF、卡被鎖定、應(yīng)用鎖定
-27266未找到文件、文件標(biāo)識(shí)相重、SFI不正確
-27267未找到記錄
-27272未找到引用數(shù)據(jù)、未找到密鑰
-37634MAC無效
-37635應(yīng)用已被永久鎖定、卡片鎖定
-37891PSAM卡不支持消費(fèi)交易
-37894所需MAC(或/和TAC)不可用
其他未知錯(cuò)誤
4、卡片調(diào)用順序(注意USB和串口部分不同)
4.1 TypeA卡
USB:
1、設(shè)置為TypeA卡片:Donsee_SetTypeA
2、請(qǐng)求卡片:Donsee_ICRequest
3、防碰撞:Donsee_ICAnticoll //這里可以出來卡片的UID,8位16進(jìn)制
4、選擇卡片:Donsee_ICSelect
5、TypeA上電:Donsee_PowerOnTypeA
6、APDU命令:Donsee_APDUType
串口:
1、TypeA上電:Donsee_PowerOnTypeA
2、APDU命令:Donsee_APDUType
4.2 TypeB卡
USB:
1、設(shè)置為TypeB卡片:Donsee_SetTypeB
2、上電:Donsee_PowerOnTypeB
3、選卡:Donsee_ICSelect
4、APDU 命令:Donsee_APDUType
串口:
1、上電:Donsee_PowerOnTypeB
2、APDU 命令:Donsee_APDUType
4.3 M1卡
USB方式:
1、設(shè)置為TypeA卡片:Donsee_SetTypeA
2、請(qǐng)求卡片:Donsee_ICRequest
3、防碰撞:Donsee_ICAnticoll //這里可以出來卡片的UID,8位16進(jìn)制
4、選擇卡片:Donsee_ICSelect
5、認(rèn)證密鑰:Donsee_M1VerifyPass//0x60認(rèn)證KeyA, 0x61認(rèn)證KeyB
6、讀/寫:Donsee_M1Read/Donsee_M1Write
串口方式:
1、尋卡:Donsee_ReadICUid //出來UID,8位16進(jìn)制
2、認(rèn)證密鑰:Donsee_M1VerifyPass
3、讀/寫:Donsee_M1Read/Donsee_M1Write
4.4 4442卡
1、上電復(fù)位:Donsee_4442_PowerOn
2、卡認(rèn)證:Donsee_4442_Verify
3、讀/寫:Donsee_4442_Read/Donsee_4442_Write
4.5 接觸CPU卡
1、上電復(fù)位:Donsee_PowerOn
2、APDU 命令:Donsee_APDU
以下是更早版本老版本的est32.dll、est64.dll、comest32.dl、comest64.dll,之所以沒有刪除,是留備用,請(qǐng)下載上面最新的donsee32.dll和donsee64.dll。