银安 - 二代证系统终端API使用手册(验证API)
更新时间:2024-01-11 20:53:01 阅读量: 教育文库 文档下载
- 银安推荐度:
- 相关推荐
二代证系统终端API使用手册
内蒙古银安科技开发有限公司
二代证系统终端API使用手册
1.前言 ........................................................................................................................................... 2 2.系统要求 .............................................................................................................................. 2 3.API列表 ............................................................................................................................... 2 4.API详细说明 ................................................................................................................... 3
4.1 端口类API ............................................................................................................................... 3
4.1.1 SDT_SetMaxRFByte .......................................................................................................................... 3 4.1.2 SDT_GetCOMBaud .............................................................................................................................. 3 4.1.3 SDT_SetCOMBaud .............................................................................................................................. 4 4.1.4 SDT_OpenPort .................................................................................................................................. 4 4.1.5 SDT_ClosePort ................................................................................................................................ 5
4.2 SAM类API ................................................................................................................................ 5
4.2.1 SDT_ResetSAM .................................................................................................................................. 5 4.2.2 SDT_GetSAMStatus .......................................................................................................................... 6 4.2.3 SDT_GetSAMID .................................................................................................................................. 6 4.3.4 SDT_GetSAMIDToStr ........................................................................................................................ 7
4.3 身份证卡类API........................................................................................................................ 7
4.3.1 SDT_StartFindIDCard .................................................................................................................... 7 4.3.2 SDT_SelectIDCard .......................................................................................................................... 8 4.3.3 SDT_ReadBaseMsg ............................................................................................................................ 8 4.3.4 SDT_ReadIINSNDN ............................................................................................................................ 9 4.3.5 SDT_ReadBaseMsgToFile .............................................................................................................. 10 4.3.6 SDT_ReadIINSNDNToASCII ............................................................................................................ 10
5.API调用说明 ................................................................................................................. 11
5.1 调用顺序 ................................................................................................................................. 11 5.2 例子程序(以delphi语言为例) ......................................................................................... 11
6.函数返回码列表 ......................................................................................................... 13
二代证系统终端API使用手册
1.前言
本应用程序接口(API)用于二代证验证系统的验证终端应用系统的开发。
2.系统要求
使用本API的PC机,必须满足下列条件:
? Windows 98,Windows 2000 Pro,Windows 2000 Server,WinXP ? 至少32兆内存(32M RAM or Larger)
? 至少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger) ? 至少一个空闲普通串口或USB口(视用户需求而定)。
3.API列表
加密API分为下列几类,在下面各表中列出。
序号 函数名 1. 2. 3. 4. 5. SDT_SetMaxRFByte SDT_GetCOMBaud SDT_SetCOMBaud SDT_OpenPort SDT_ClosePort 端口API 功能描述 设置射频适配器最大通信字节数 查看串口当前波特率 设置串口上SAM的波特率 打开串口/USB口 关闭串口/USB口 序号 函数名 6. 7. 8. 9. SDT_ResetSAM SDT_GetSAMStatus SDT_GetSAMID SDT_GetSAMIDToStr SAM类API 功能描述 对SAM复位 对SAM进行状态检测 读取SAM的编号(十六进制) 读取SAM的编号(字符串格式) 序号 函数名 10. 11. 12. 13. 14. SDT_StartFindIDCard SDT_SelectIDCard SDT_ReadBaseMsg SDT_ReadIINSNDN SDT_ReadBaseMsgToFile 身份证卡类API 功能描述 开始找卡 选卡 读取ID卡内基本信息区域信息 读取ID卡内IIN,SN, DN 读取ID卡内基本信息区域信息,并把信息写入指定的文件中 读取ID卡内IIN,SN, DN,并转换成ASCII形式 15. SDT_ReadIINSNDNToASCII
二代证系统终端API使用手册
4.API详细说明
4.1 端口类API
4.1.1 SDT_SetMaxRFByte
设置射频适配器最大通信字节数。 int SDT_SetMaxRFByte (
int iPort, unsigned char ucByte, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
ucByte [in] 无符号字符,24-255,表示射频适配器最大通信字节数。
iIfOpen [in] 整数,参见SDT_ResetSAM。
返回值:
0x90 其他
成功
失败(具体含义参见返回码表)
4.1.2 SDT_GetCOMBaud
查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API)。
int SDT_GetCOMBaud (
int iPort,
unsigned int * puiBaudRate );
参数说明:
iPort [in] 整数,表示端口号。此处端口号必须为1-16,表示串口,参见SDT_Login。
puiBaudRate [out] 无符号整数指针,指向普通串口当前波特率, 默认情况下为115200。
二代证系统终端API使用手册
返回值:
0x90 0x1 0x5
成功
端口打开失败/端口号不合法
无法获得该SAM的波特率,该SAM串口不可用。
4.1.3 SDT_SetCOMBaud
设置SAM的串口的波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API),设置成功后,在该SAM和主机注册表中都记录设置后的波特率,保证在SAM重新启动和该套API被重新调用时采用设置后的波特率。该函数调用成功后,需要延时5毫秒,然后才能继续与SAM通信。
int SDT_SetCOMBaud (
int iPort,
unsigned int uiCurrBaud,
unsigned int uiSetBaud );
参数说明:
iPort [in] 整数,表示端口号。此处端口号必须为1-16,表示串口。
uiCurrBaud [in] 无符号整数,调用该API前已设置的业务终端与SAM通信的波特率(SAM出厂时默认,业务终端与SAM通信的波特率为115200).业务终端以该波特率与SAM通信,发出设置SAM新波特率的命令.。uiCurrBaud只能为下列数值之一:115200,57600,38400,19200,9600.如果uiCurrBaud数值不是这些值之一,函数返回0x21;如果已设置的波特率与uiCurrBaud不一致, 则函数返回0x02,表示不能设置,调用API不成功。
uiSetBaud
[in] 无符号整数,将要设置的SAM与业务终端通信波特率。uiSetBaud只能取下列值之一::115200,57600,38400,19200,9600,如果输入uiSetBaud参数不是这些数值之一,,函数返回0x21,设置不成功,保持原来的波特率不变。
返回值:
0x90 成功
0x1 端口打开失败/端口号不合法。 0x2 超时,设置不成功。
0x21 uiCurrBaud 、uiSetBaud输入参数数值错误.。
4.1.4 SDT_OpenPort
二代证系统终端API使用手册
打开串口。
int SDT_OpenPort(
int );
参数说明:
iPort
iPort [in] 整数,表示端口号。1-16(十进制)为串口,1001-1016(十进制)为USB口。
返回值:
0x90 1
打开端口成功
打开端口失败/端口号不合法
4.1.5 SDT_ClosePort
关闭串口。
int SDT_ClosePort (
int );
参数说明:
iPort
iPort [in] 整数,表示端口号。
返回值:
0x90 关闭端口成功。 0x01 端口号不合法
4.2 SAM类API
4.2.1 SDT_ResetSAM
对SAM复位。
int SDT_ResetSAM (
int iPort, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。根据SAM使用的接口不同(分为普通串口SAM和USB
二代证系统终端API使用手册
口SAM),分别使用不同的端口号(目前串口和USB都只支持16个,即串口0001-0016和USB1001-1016): 普通串口0001 – 0016(十进制) 例如: SAM 0001:串口1(COM1) 0002:串口2(COM2) USB口SAM 1001 – 1016(十进制) 例如: 1001:USB1 1002:USB2
iIfOpen [in] 整数,0表示不在该函数内部打开和关闭串口,此时确保之前调用了SDT_OpenPort来打开端口,并且在不需要与端口通信时,调用SDT_ClosePort关闭端口;非0表示在API函数内部包含了打开端口和关闭端口函数,之前不需要调用SDT_OpenPort,也不用再调用SDT_ClosePort。
返回值:
0x90 其他
成功
失败(具体含义参见返回码表)
4.2.2 SDT_GetSAMStatus
对SAM进行状态检测。 int SDT_GetSAMStatus (
int iPort, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
iIfOpen [in] 整数,参见SDT_ResetSAM。
返回值:
0x90 SAM正常
0x60 自检失败,不能接收命令
其他 命令失败(具体含义参见返回码表)
4.2.3 SDT_GetSAMID
读取SAM的编号。 int SDT_GetSAMID (
int iPort, unsigned char * pucSAMID,
二代证系统终端API使用手册
int
iIfOpen
);
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
pucSAMID [out] 无符号字符串指针,指向读到的SAM编号,
返回值:
0x90 成功
其他 失败(具体含义参见返回码表)
4.3.4 SDT_GetSAMIDToStr
读取SAM的编号。
int SDT_GetSAMIDToStr (
int iPort, char * pcSAMID, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
pcSAMID [out] 字符串指针,指向读到的SAM编号。
iIfOpen [in] 整数,参见SDT_ResetSAM。
返回值:
0x90 成功
其他
失败(具体含义参见返回码表)
4.3 身份证卡类API
4.3.1 SDT_StartFindIDCard
开始找卡。
字节。 16 二代证系统终端API使用手册
int SDT_StartFindIDCard (
int iPort , unsigned char * pucIIN, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
pucIIN [out] 无符号字符指针,指向读到的IIN。
iIfOpen [in] 整数,参见SDT_ResetSAM。
返回值:
0x9f 找卡成功 0x80 找卡失败
4.3.2 SDT_SelectIDCard
选卡。
int SDT_ SelectIDCard (
int iPort , unsigned char * pucSN, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
pucSN [out] 无符号字符指针,指向读到的SN。
iIfOpen [in] 整数,参见SDT_ResetSAM。
返回值:
0x90 选卡成功 0x81 选卡失败
4.3.3 SDT_ReadBaseMsg
读取ID卡内基本信息区域信息。 int SDT_ReadBaseMsg (
二代证系统终端API使用手册
int iPort, unsigned char * pucCHMsg, unsigned int * puiCHMsgLen, unsigned char * pucPHMsg, unsigned int * puiPHMsgLen, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
pucCHMsg [out] 无符号字符指针,指向读到的文字信息。
puiCHMsgLen [out] 无符号整型数指针,指向读到的文字信息长度。
pucPHMsg [out] 无符号字符指针,指向读到的照片信息。
puiPHMsgLen [out] 无符号整型数指针,指向读到的照片信息长度。
iIfOpen [in] 整数,参见SDT_ResetSAM。
返回值:
0x90 读基本信息成功
其他 读基本信息失败(具体含义参见返回码表)
4.3.4 SDT_ReadIINSNDN
读取ID卡内IIN,SN和DN。 int SDT_ReadIINSNDN (
int iPort, unsigned char * pucIINSNDN, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
pucIINSNDN [out] 无符号字符指针,指向读到的IIN,SN和DN,长度为固定28字节。
iIfOpen [in] 整数,参见SDT_ResetSAM。
二代证系统终端API使用手册
返回值:
0x90 其他
读IIN,SN和DN成功
读IIN,SN和DN失败(具体含义参见返回码表)
4.3.5 SDT_ReadBaseMsgToFile
与SDT_ ReadBaseMsg函数类似,读取ID卡内基本信息区域信息,并将读到的基本信息写进输入参数所指定的文件中。
int SDT_ ReadBaseMsgToFile (
int iPortID,
char * pcCHMsgFileName, unsigned int * puiCHMsgFileLen, char * pcPHMsgFileName, unsigned int * puiPHMsgFileLen, int iIfOpen );
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
pcCHMsgFileName [in] 读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen [out] 存储文字信息的文件的长度。
pcCHMsgFileName [in] 读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen [out] 存储照片信息的文件的长度。
iIfOpen [in] 整数,参见SDT_ResetSAM。
返回值:
0x90 读基本信息成功
其他 读基本信息失败(具体含义参见返回码表)
4.3.6 SDT_ReadIINSNDNToASCII
读取ID卡内IIN,SN和DN,并把16进制转化成ASCII形式。 int SDT_ReadSNDN (
int iPort, unsigned char * pucIINSNDN, int iIfOpen );
二代证系统终端API使用手册
参数说明:
iPort [in] 整数,表示端口号。参见SDT_ResetSAM。
pucIINSNDN [out] 无符号字符指针,指向读到的IIN,SN和DN,长度为固定56字节。
iIfOpen [in] 整数,参见SDT_ResetSAM。
返回值:
0x90 读SN和DN成功
其他 读SN和DN失败(具体含义参见返回码表)
举例说明:
如读取到的IIN,SN和DN十六进制是{0x12, 0x9a…},把每个字节拆分成两个ASCII形式的数,转化成后则为{0x31,0x32,0x39,0x61…}。
5.API调用说明
5.1 调用顺序
有些API的调用有一定先后顺序。我们把这些有先后顺序关系的API按不同层次列表如下。(2)级函数执行前必须执行其上的(1),即(1)级函数最先执行,然后可以执行(2)级函数,然后可以执行(3)级函数,然后依次为(4)级、(5)级函数。同一级函数没有先后顺序。其他未列出的函数全是(1)级函数,调用没有先后顺序。
SDT_StartFindIDCard(1)
SDT_SelectIDCard(2)
SDT_ReadBaseMsg(3)
5.2 例子程序(以delphi语言为例)
var
iRet:integer;
pucIIN: array[0..3] of char; pucSN: array[0..7] of char; pucCHMsg:array[0..1023] of uchar; //文字信息 pucPHMsg:array[0..1023] of uchar; //照片信息 uiCHMsgLen,uiPHMsgLen:integer;
----------------------------------------------------------------------------
二代证系统终端API使用手册
//打开串口
iRet := SDT_OpenPort(Com); if (iRet <> $90) then begin
ScreenErrorinfo('打开串口错误!',iRet); SDT_ClosePort(Com); exit; end; //找卡 iRet := SDT_StartFindIDCard(Com, pucIIN, 0); if (iRet <> $9f) then begin
ScreenErrorinfo('请重新放置身份证.',iRet); SDT_ClosePort(Com); exit; end; //选卡
iRet := SDT_SelectIDCard(Com,pucSN, 0); if (iRet <> $90) then begin
ScreenErrorinfo('此卡不是标准身份证!',iRet); SDT_ClosePort(Com); exit; end; //读卡 iRet := SDT_ReadBaseMsg(Com,
pucCHMsg, uiCHMsgLen, pucPHMsg, uiPHMsgLen, 0); if (iRet<> $90) then begin
ScreenErrorinfo('读卡时发生错误!请不要移动身份证.',iRet); SDT_ClosePort(Com); exit; end;
//读卡代码略
//关闭串口
iRet := SDT_ClosePort(Com); if (iRet<> $90) then begin
ScreenErrorinfo('关闭串口发生错误!',iRet);
二代证系统终端API使用手册
exit; end;
6.函数返回码列表 API返回值列表: 类 别 返回值 (16进制) 成功信息 90 91 9F SAM通信 01 02 03 04 05 06 10 11 SAM命令错 21 23 80 81 31 32 33 34 40 41 50 61 60 66 意 义 操作成功 没有该项内容 返回找卡成功信息 端口打开失败/端口尚未打开/端口号不合法 PC接收超时,在规定的时间内未接收到规定长度的数据。 PC判断校验和错 USB设备未配置 该SAM串口不可用,只在SDT_GetCOMBaud时才有可能返回 USB设备被禁用 SAM判断校验和错 SAM接收超时,在规定的时间内未接收到规定长度的数据。 接收业务终端的命令错误,包括命令中的各种数值或逻辑搭配错误 越权的操作申请 找卡不成功 选卡不成功 卡认证机具失败 机具认证卡失败 信息验证错误 尚未找卡,不能进行对卡的操作 无法识别的卡类型 读卡操作失败 写卡操作失败 用户登录失败 自检失败,不能接收命令 KDC没有下载正式密钥 与ID卡相关 SAM状态
二代证系统终端API使用手册
相片解码函数使用说明
内蒙古银安科技开发有限责任公司
一、概述
本手册是相片解码函数的定义格式、调用方法和返回值的说明。
二代证系统终端API使用手册(验证API)
二、定义
应用函数开发包含下列文件:
WltRS.h API函数原型定义 WltRS.lib API函数的VC开发包 WltRS.dll API函数的动态联接库 sdtapi.dll 关联的动态联接库 适用操作系统:
Windows: 需要 Windows 98、Windows 2000或以后版本 适用开发语言:
Visual C++ 5.0 及以后版本 Visual Basic 5.0 及以后版本 DEPHI 3.0 及以后版本 PowerBuilder 6.0 及以后版本
三、函数列表
GetBmp(char * Wlt_File,int intf) wlt文件解码成bmp文件;
四、函数说明
原 型:int GetBmp(char * Wlt_File,int intf); 说 明:本函数用于将wlt文件解码成bmp文件。 参 数:Wlt_File ----- wlt文件名
intf ----- 阅读设备通讯接口类型(1—RS-232C,2—USB) 返 回 值:生成*.bmp文件和以下返回信息 值 意义 1 相片解码解码正确 0 调用sdtapi.dll错误 -1 相片解码错误 -2 wlt文件后缀错误 -3 wlt文件打开错误 -4 wlt文件格式错误 -5 软件未授权 -6 设备连接错误 例(以Delphi为例)
var
I, j, iRet,Com : integer;//Com端口号 i := 256; j := 1024;
iRet := SDT_ReadBaseMsgToFile(Com, 'tmpinfo',i, 'tmpinfo.wlt',j,0); if (iRet<> $90) then begin
ScreenErrorinfo('读相片时发生错误!请不要移动身份证.',iRet);
二代证系统终端API使用手册(验证API)
SDT_ClosePort(Com); exit; end;
iRet := GetBmp('tmpinfo.wlt',1); if (iRet<> 1) then begin
ScreenErrorinfo('解析相片时发生错误!',iRet); SDT_ClosePort(Com); exit; end;
五、注意事项
1、 wlt文件的后缀要固定为”.wlt”,如:xp.wlt,相片解码成xp.bmp; 2、 本函数要与sdtapi.dll关联使用,并确认通讯端口处于关闭状态;
3、 在使用前,请确认授权文件termb.lic是否在你的PC机C:\\根目录下。
正在阅读:
银安 - 二代证系统终端API使用手册(验证API)01-11
中国织布产业专项调研与发展策略分析报告(2014-2019)05-29
HPD2F_REV_2_PRELIMINARY_DATASHEET_2010-03-0304-11
云南成人高考2016年思想道德修养与法律基础(内部资料)03-08
《浮力》重难点突破03-01
可测频率的交流毫伏表设计 - 图文10-17
揭秘:六种不同性格高考生最适合报考专业02-27
第七八九总复习单元06-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 二代
- 终端
- API
- 验证
- 手册
- 使用
- 系统
- 银安
- 货币金融学教案 - 图文
- 文科站--张文创--《教学案例生辉 促我反思前行》
- 微观经济学课外作业(含答案) 考经济类研究生很有用!
- 试析网络环境下高校思想政治教育的创新与思考
- 增值税练习题答案
- 道路与桥梁专业公路几何设计大学毕业论文英文文献翻译及原文
- 2017年江西省中考英语试卷
- 2010届高三英语上册第二次月考试题5
- 周庄小学学校各部门工作职责
- 2013年山东高考语文卷(word版)
- 浅谈中学生法律意识的培养
- 2013年华南理工大学-项目风险管理随堂练习参考答案
- 七年级下学期期末数学测试题北师大版(含答案)共4套-(DOC) - 图文
- 儒学与生活
- 温度控制系统设计毕业设计论文
- 2013级机械设计与制造专业人才培养方案
- 我国绿色金融问题研究
- 派遣协议书2016
- 万达房地产固定资产管理问题及分析
- 2017-2022年中国洗发水市场深度研究与投资方向研究报告(目录) - 图文