指纹UKey接口和数据格式标准.doc

上传人:飞****2 文档编号:51825111 上传时间:2022-10-20 格式:DOC 页数:42 大小:688.50KB
返回 下载 相关 举报
指纹UKey接口和数据格式标准.doc_第1页
第1页 / 共42页
指纹UKey接口和数据格式标准.doc_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《指纹UKey接口和数据格式标准.doc》由会员分享,可在线阅读,更多相关《指纹UKey接口和数据格式标准.doc(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、指纹UKey接口和数据格式标准 北京和智信科技有限公司 2007-09-26目 录一、总概21.1、目的21.2、指纹UKey应用结构3二、使用说明42.1、提供形式及环境要求42.2、接口提供的功能42.3、接口说明4三、接口说明43.1、Microsoft CSP 接口43.1.1、应用体系结构53.1.2、Ukey CSP的安装53.1.3、基本情况63.1.4、特征63.1.5、CSP上下文63.1.6、CryptoAPI函数说明73.1.7、基于PKI 的Windows CSP证书流程接口73.2、PKCS#11接口173.3、UKey指纹设备接口173.3.1、用户管理173.3.

2、2、指纹采集213.3.3、设备管理243.3.4、数据管理283.3.5、RSA接口323.3.6、数据摘要加解密403.3.7、异常管理42一、总概1.1、目的本文的主要对象是基于指纹UKey进行身份认证、数字安全等方面应用开发的开发人员、系统维护人员,通过本文使用户对指纹UKey的应用结构、接口定义、数据格式有个比较全面的了解,有助于用户更好更快的二次开发。1.2、指纹UKey应用结构图1、指纹UKey应用结构图从指纹UKey的应用结构上看,总体分为上层的应用层和UKey的设备物理层。其中上层应用层包括系统应用层和指纹UKey接口层;其中系统应用层是指包括中正的Key管理软件、及面向用户

3、基于指纹UKey的各二次开发应用程序;指纹UKey接口层是本指纹UKey向二次开发用户提供的全部的接口,它包括与Windows的标准CSP接口兼容的CSP接口、PKCS体系中的智能卡接口标准PKCS#11、及的指纹UKey接口。用户可利用CSP接口或PKCS#11接口进行开发,也可以直接利用指纹UKey接口进行开发。 UKey的设备物理层包括了UKey COS系统和物理硬件层,指纹UKey接口现实层通过安全协议也UKey的COS系统进行通信。二、使用说明2.1、提供形式及环境要求指纹UKey开发包通常包括以下四个组成部分:CSP注册包、包含文件、使用说明、DEMO例子程序。其中包含文件的头文件

4、(.h文件)它定义UKey提供的函数的原型。另外,DEMO的编译环境一般包括Microsoft VC 6.0或Borland C+Builder 6.0 。2.2、接口提供的功能 指纹UKey提供的接口功能主要包括:指纹管理、用户管理、2.3、接口说明MXKey.h包含以下的部分:常量定义、类型和结构说明、函数声明。三、接口说明指纹UKey充分借鉴业界标准(包括PKCS#11、Microsoft CSP,中国金融集成电路(IC)卡规范等),提供丰富完备的API接口,完全与PKCS#11、Microsoft CSP等接口兼容,方便用户直接构建数据安全、身份认证、PKI体系等系统。主要接口包括:M

5、icrosoft CSP CryptoAPI接口、PKCS#11接口和UKey指纹接口等,下面对方面的接口进行说明。3.1、Microsoft CSP 接口Microsoft的CryptoAPI是Win32平台下为应用程序开发者提供的数据加密和数据安全、数字身份认证的编程接口。CryptoAPI函数集包含了基本的数据编码、数据摘要、对称和非对称数据加密和解密、数字证书管理等重要的密码学应用功能。3.1.1、应用体系结构指纹UKey通过提供标准的CSP模块来实现与CryptoAPI应用的无缝集成。指纹UKey的CSP模块是遵从微软的Cryptographic Service Provider编辑

6、规范编写,可以兼容现有和将来的CryptoAPI应用。其体系结构如下: 从体系结构图可以看出,注册后的UKey:Miaxis UKey是CryptoAPI设备供应者列表中中的一员,上层的应用可以无缝、透明的调用CryptoAPI进行应用开发。3.1.2、Ukey CSP的安装在使用指纹UKey的Microsoft CSP接口之前,用户先得安装注册CSP。具体安装方法请详见“UKey CSP安装包”的安装说明。3.1.3、基本情况l CSP类型:PROV_RSA_FULL这种类型的CSP支持数字签名和数据加解密,是一种通用类型的CSP。所有的公钥运算是使用RSA算法。l 名称:MIAXIS CS

7、P v1.03.1.4、特征l 使用指纹验证替代了PIN码,大大提高了安全性和使用上方便性。l 指纹传感器采用AuthenTec公司的AES3400的活体指纹TruePrint 技术。l 提供了安全的RSA密钥对存储容器,对密钥对的使用做了严格的访问控制机制。l 提供多种加密算法和摘要算法。l 支持硬件实现的1024位RSA运算,算法签名速度达到55 次/秒96MHz(带CRT)l 支持硬件随机数生成,通过随机数测试国际标准FIPS1402 测试;l 支持多证书应用;l 支持国产分组算法SSF33和国密SCB2算法;l 支持Windows 98/ME/2000/XP/2003操作系统;3.1.

8、5、CSP上下文应用程序调用的第一个CryptoAPI函数必定是CryptAcquireContext。这个函数返回包含了特定密钥容器的CSP操作句柄。密钥容器的选择可以特别指定也可以使用登录用户缺省的容器。当应用程序调用CryptAcquireContext函数获取一个CSP操作句柄时,可以指定CSP的类型和名字。如果指定了类型和名字则只有这两个属性匹配的CSP模块会被调用。调用成功后,函数返回CSP的操作句柄,之后应用程序就可以通过句柄访问CSP和CSP中的密钥容器了。对采用指纹UKey的CSP时,在调用CryptAcquireContext容器时,则要设定pszProvider 参数为中

9、正的CSP名称“MIAXIS CSP v1.0”,整个函数参数设定如下:if(CryptAcquireContext(&hProv, NULL,MIAXIS CSP v1.0,PROV_RSA_FULL,CRYPT_VERIFYCONTEXT) /Do success things 3.1.6、CryptoAPI函数说明 CryptoAPI函数包括了:证书库管理函数(Certificate Store Functions) 、简单消息函数(Simplified Message Functions) 、证书编解码函数(Certificate Encode/Decode Functions)、 低

10、层消息函数(Low Level Message Functions) 、基本加密函数(Base Cryptographic Functions)等。详细的函数功能说明及参数定义见CryptoAPI相关开发文档或Microsoftware网站: 下 MSDN Library Cryptography Functions部分。3.1.7、基于PKI 的Windows CSP证书流程接口3.1.7.1、类型和结构声明1、设备信息结构体typedef struct _DeviceInfo_T int DeviceType; /设备类型(普通KEY,指纹KEY等) char Label32; /设备标签

11、 char ManufacturerID32; /设备供应商ID; char ManufacturerInfo128; /设备供应商信息 WORD AlgCap; /支持的密钥算法 char SerialNumber16; /硬件序列号,为设备的唯一标识 DWORD TotalMemory; /设备总空间(字节数) int MaxSOPINLen; /管理员PIN的最大长度 int MinSOPINLen; /管理员PIN的最小长度 int MaxPINLen; /用户PIN的长度 int MinPINLen; /用户PIN的长度 struct FingerKey /指纹KEY的信息 int

12、UserNum; /支持的用户数 int FingerprintNum; /可存储的指纹数量 char SensorType; /传感器类型 ;DeviceInfo_T,*pDeviceInfo_T; 2、设备用户类型typedef enum ut_SOPIN =0,ut_USERPIN =1UserType_T; 其中ut_SOPIN为管理员、ut_USERPIN为普通用户;3、设备状态typedef enum ds_DeviceOffline=0,ds_DeviceOnline=1,ds_DeviceLogin=2DeviceStatus_T; 其中 ds_DeviceOffline :设

13、备不在线ds_DeviceOnline :设备在线未登录ds_DeviceLogin : 设备已登录 4、证书申请用户主题信息结构体typedef struct char CN50; /通用名 char OU20; /组织部门 char O150; /组织机构 char L40; /城市 char S80; /省份 char C10; /国家 char T50; /头衔 char E80; /EmailSubjectInfo_T,*pSubjectInfo_T;注:证书申请用户主题信息为基本属性信息,可根据实际应用进行扩展。5、密钥用法const typedef enum ku_Decrypt

14、Usage=1,ku_SignUsage=2KeyUsage_T;其中 ku_DecryptUsage:加密证书ku_SignUsage :签名证书6、证书注册基本配置信息typedef struct char CSP_Name150; /CSP注册名 char HashAlg20; /Hash算法 DWORD KeySpec; /密钥用法 bool IsKeyExportable; /私钥是否可导出 DWORD KeySize; /密钥大小 int ValidPeriod; /申请有效时限(以天数记) DWORD CertTemplate; /证书模板 bool IsGenKey; /是否生

15、成密钥对 char* ExistingContainerName; /启用现有密钥容器名 int Flag; /其它标识CertReg_T,*pCertReg_T;证书注册基本配置信息是用户证书申请时基本配置信息,其中CSP_Name为设备CSP的注册名称,必须完整匹配。7、数据编码类型typedef enum ce_BASE64=0x1,ce_BASE64HEADER=0x2,ce_BINARY=0x4,ce_ENCODEANY=0x8CertEncode_T;其中:ce_BASE64 : Base64格式; ce_BASE64HEADER: 带标识头的Base64格式; ce_BINARY

16、 : 二进制格式 ce_ENCODEANY : 上述任何格式 3.1.7.2、CSP证书申请流程接口说明 基于PKI标准体系的Windows CSP的证书申请流程接口主要是涉及用户Key端的基本功能,主要包括“设备管理”、“证书载入接口”和“证书管理接口”等。其中“证书载入接口”主要是参照PKI体系中的证书申请、签发、载入等主要流程步骤;主要流程如下:1、 由Key终端用户提交证书申请(一般指签名证书),在设备环境下生成基于本设备的PKCS10证书申请数据;2、 用户向CA中心提交本次PKCS10证书申请数据(一般通过安全通道,下同);3、 CA中心对PKCS10数据进行解包,并做验证后,签发

17、证书生成PKCS7格式的证书文件,在这期间CA一般同时生成PKCS12格式的证书包;再将这两个证书文件通过安全通道送给Key终端用户;4、 Key终端用户收到证书文件后,即可安装PKCS7证书文件和载入PKCS12文件,完成基于双证书的Key证书申请、安装的过程;3.1.7.2.1、设备管理1、 GetSlotList (得到设备列表) 函数原型: long GetSlotList(int *oSlotIDList,int *ioSlotCount)参数说明:参数类型参数名参数说明int*oSlotIDList成功返回的SlotID列表数组,为整体数组;int *ioSlotCount返回数组

18、的大小;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 得到当前设备编号列表。注意事项:l 如果oSlotIDList设置为NULL,ioSlotCount则回来其列表的大小。2、 OpenDevice (打开指定设备) 函数原型: long OpenDevice (int SlotID,HANDLE* oHandle)参数说明:参数类型参数名参数说明intSlotID要打开的设备SlotID;HANDLE *oHandle成功,返回的打开的设备句柄 ;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 打开指定设备。注意事项:l 成功打开后,设

19、备的状态为ds_DeviceOnline;3、 CloseDevice (关闭指定设备) 函数原型: long CloseDevice (HANDLE iHandle)参数说明:参数类型参数名参数说明HANDLE iHandle待关闭设备的句柄;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 关闭指定设备。注意事项:l 关闭后,设备的状态为ds_DeviceOffline;4、 GetDeviceInfo (获取设备信息) 函数原型: long GetDeviceInfo (HANDLE iHandleDeviceInfo_T* oDeviceInfo)参数说明:参数

20、类型参数名参数说明HANDLE iHandle当前操作设备的句柄;DeviceInfo_T*oDeviceInfo成功后,返回的设备信息;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:获取设备信息。注意事项:l 如果DeviceType为指纹设备,则要返回 结构体FingerKey的信息,普通设置该结构体信息为空;5、 GetDeviceStatus (得到设备状态) 函数原型: long GetDeviceStatus (HANDLE iHandleDeviceStatus_T* oDeviceStatus)参数说明:参数类型参数名参数说明HANDLE iHandl

21、e当前操作设备的句柄;DeviceInfo_T*oDeviceInfo成功后,返回的设备当前状态;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:得到设备状态。注意事项:l 如果DeviceType为指纹设备,则要返回 结构体FingerKey的信息,普通设置该结构体信息为空;6、 UnlockPIN (解锁设备) 函数原型: long UnlockPIN (HANDLE iHandlechar *iSOPIN,char *iPIN)参数说明:参数类型参数名参数说明HANDLE iHandle当前操作设备的句柄;char *iSOPIN设备管理员的PIN码;char *

22、iPIN重新设置的用户PIN码;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:解锁设备,以管理员的权限对PIN已经失效的设备进行重新设置。注意事项:l 解锁操作不会丢失设备内的数据 ;7、 ChangePIN (修改PIN码) 函数原型: long ChangePIN (HANDLE iHandleUserType_T iUserType,char* OldPIN,char* iNewPIN)参数说明:参数类型参数名参数说明HANDLE iHandle当前操作设备的句柄;UserType_TiUserType为用户类型,包括管理员、普通用户;char *OldPIN修

23、改前的PIN码;char *iNewPIN修改后的PIN码;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:修改PIN码。注意事项:l 如果修改前的OldPIN 验证失败,则函数失败;8、 FormatDevice (格式化设备) 函数原型: long FormatDevice (HANDLE iHandlechar* iSOPIN,char* iUserPIN)参数说明:参数类型参数名参数说明HANDLE iHandle当前操作设备的句柄;char *iSOPIN设置设备管理员的PIN码;char *iUserPIN设置普通用户PIN码;返回值: FPOK:成功; 其

24、它: 失败;请参照错误消息代码;功能说明:格式化设备。注意事项:l 该操作会丢失设备内的全部数据;l 该接口管理员接口,不对普通用户开放3.1.7.2.2、证书载入接口9、 SetCertRegisterInfo (设置证书注册信息) 函数原型: long SetCertRegisterInfo (CertReg_T iCertRegInfo)参数说明:参数类型参数名参数说明CertReg_TiCertRegInfo证书注册信息;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:设置证书注册信息。注意事项:l 在证书申请、载入等操作之前,必须先设置证书注册信息,比如CSP

25、名称等;10、 CreateKeyCertRequest (生成证书申请) 函数原型: long CreateKeyCertRequest (SubjectInfo_T iSubjectInfo,CertEncode_T iEncodeType,BYTE* oReguestCertBlob,int* oRequestCertBlobSize)参数说明:参数类型参数名参数说明SubjectInfo_TiCertRegInfo生成证书申请时,用户的DN基本信息,见SubjectInfo_TCertEncode_TiEncodeType生成证书申请数据的编码方式,见CertEncode_T 定义BY

26、TE*oReguestCertBlob成功后生成证书申请的数据块;int*oRequestCertBlobSize成功后生成证书申请的数据块大小;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 根据用户提交的主题信息(SubjectInfo_T)或证书申请配置信息,生成证书申请,即PKCS10格式的申请证书。注意事项:l 在此操作之前,先得设置证书申请信息,即调用SetCertRegisterInfo接口;l iSubjectInfo 为证书申请的主题基本信息,用户可根据现实应用进行扩展;11、 LoadPkcs7Cert (载入PKCS7证书) 函数原型: long

27、 LoadPkcs7Cert (CertEncode_T iEncodeType,BYTE* iPkcs7CertBlob,int iPkcs7CertBlobSize)参数说明:参数类型参数名参数说明CertEncode_TiEncodeType传入PKCS7证书的编码方式,见CertEncode_T 定义BYTE*iPkcs7CertBlob待载入的PKCS7证书的数据块;intiPkcs7CertBlobSize待载入的PKCS7证书的数据块大小;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 当用户或RA向签发机构提交PKCS10的证书申请信息后,签发机构对P

28、KCS10申请数据进行证书签发后生成PKCS7证书,用户收到该签发证书后,再载入设备,完成该次证书申请流程;注意事项:l 向设备载入PKCS7证书,设备必须有与之相对应的密钥对,否则失败;12、 LoadP12Cert (载入P12证书) 函数原型: long LoadP12Cert (CertEncode_T iEncodeType,char* iPassword,BYTE* iPkcs12CertBlob,int iPkcs12CertBlobSize)参数说明:参数类型参数名参数说明CertEncode_TiEncodeType传入PKCS12证书的编码方式,见CertEncode_T

29、定义char*iPasswordPKCS12证书的解密密码;BYTE*iPkcs12CertBlob待载入的PKCS12证书的数据块;intiPkcs12CertBlobSize待载入的PKCS12证书的数据块大小;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 载入PKCS12证书,PKCS12证书一般由签发机构直接签发的带有私钥的证书;注意事项:l 无3.1.7.2.3、证书管理接口13、 DeviceCertCount (得到当前设备内的证书数) 函数原型: long DeviceCertCount (int* oCertCount)参数说明:参数类型参数名参数

30、说明int*oCertCount得到当前设备内的证书数返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 得到当前设备内的证书数;注意事项:l 当前设备时指CertReg_T信息所指定CSP的设备;14、 GetExportCert (导出设备公钥证书) 函数原型: long GetExportCert (int iCertIndex,BYTE* oCertBlob,int* ioCertBlobSize)参数说明:参数类型参数名参数说明intiCertIndex指定待导出证书数的序号,该序号为DeviceCertCount接口返回的证书数,序号为1开始;BYTE*oCe

31、rtBlob导出的证书数据块,当oCertBlob设为NULL时返回证书的大小ioCertBlobSize;int*ioCertBlobSize导出的证书数据块大小;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 导出设备公钥证书;注意事项:l 无;3.2、PKCS#11接口PKCS#11是PKCS 系列是关于智能卡的接口标准。PKCS#11标准(也称为“Cryptoki”)被设计用来解决不同厂商与开发者的公开密钥应用之间与兼容问题。在使用指纹UKey进行PKCS#11接口开发应用程序之前,开发者应当熟悉PKCS#11标准。这些标准文档可以在RAS公司的网站上自由下载

32、,下载网址是:PKCS#11开发提供的相关的文件有:Cryptoki.hincludepkcs11(由RSA公司提供)Pkcs11.hincludepkcs11(由RSA公司提供)pkcs11f.hincludepkcs11(由RSA公司提供)pkcs11t.hincludepkcs11(由RSA公司提供)UKeyPkcs11.dllUkey的PKCS#11现实动态链接库文件,由中正公司提供UKeyPkcs11.libUKeyPkcs11.dll对应的LIB文件3.3、UKey指纹设备接口Ukey向开发用户提供了丰富的接口,用户可以直接利用这些接口进行对设备进行各种管理和应用,这些接口包括了设

33、备用户管理、指纹采集、设备管理、数据管理、RSA接口、数据摘要加解密及异常管理等方面。约定:对于接口中的参数名,一般第一个字符代表该参数是传入参数还是传出参数:如果第一个字符是“i”则代表是传入参数,如果是“o”则代表传出参数,如果是“io”则代表传入及传出参数。3.3.1、用户管理1、 MXGenerateUser (建立用户) 函数原型: int MXGenerateUser(HANDLE iDevHandle,char *iUserName,int iFingerIndex,int iAdministerFlag,int iShowFlag,HWND iMsgWnd,int iMsgIm

34、gID,int iMsgFPOnID,int iMsgOffID,int iMsgOKID)参数说明:参数类型参数名参数说明HANDLE iDevHandle设备的句柄,由MXOpenDevice接口创建;char* iUserName为该用户的用户名,以“0”结束的最大长度为22 Byte的字符串;int iFingerIndex为第几个手指;左手小指到拇指1-5,右手小指到拇指6-10;int iAdministerFlag是否是管理员,1是,0不是;int iShowFlag是否显示指纹,1显示,0不显示;HWND iMsgWnd要传递消息的窗口句柄;int iMsgImgID传送指纹图

35、像数据;int iMsgFPOnID传送手指按上消息;int iMsgOffID传送手指拿开消息;int iMsgOKID传送录入完成消息;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明: 向设备增加指定用户名及权限的用户。注意事项:l 当设备没有任何用户时,设备只允许添加级别为管理员的成员,否则,返回错误码提醒用户。l 当设备存在用户时,需要管理员先登录才能操作,l 设备提供总共可以注册1位用户,每位用户可以注册10枚备用指纹。l 如果添加的是管理员,则权限都置有效;2、 MXUserDel(删除用户)函数原型: int MXUserDel (HANDLE iDevH

36、andle,char *iUserName)参数说明:参数类型参数名参数说明HANDLE iDevHandle设备的句柄,由MXOpenDevice接口创建;char* iUserName为待删除用户的用户名,以“0”结束的最大长度为22 Byte的字符串;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:从设备中删除指定用户名的用户信息。注意事项:l 在删除时须有管理员权限。但管理员不能删除其本身,以保证设备里至少存在一个管理员。3、 MXClearUser(清除用户)函数原型: int MXClearUser (HANDLE iDevHandle)参数说明:参数类型参

37、数名参数说明HANDLE iDevHandle设备的句柄,由MXOpenDevice接口创建;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:从设备中清除全部用户信息。注意事项:l 清空该设备内所有数据,还原为出厂状态,需要管理员权限。4、 MXUserList(获取用户列表)函数原型: int MXUserList (HANDLE iDevHandle,BYTE* oUserData)参数说明:参数类型参数名参数说明HANDLE iDevHandle设备的句柄,由MXOpenDevice接口创建;BYTE*oUserData接口成功后,传出用户信息数据,其长度为8*(

38、2+22)=192Byte的连续数据块,一个用户数据的格式为:Flag(2Byte)+Name(22Byte)。返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:从设备中获取所有成员数据列表。注意事项:l 2Byte的用户Flag是如下格式的标志,用户可以通过它访问该用户的权限,其各BIT的用法如下:Bit0: 有效位;Bit1:指纹生成标志 Bit2:管理员标志Bit3-Bit12:从3-12位对应每个手指分别如下:左手大拇指-左手小拇指,右手大拇指-右手小拇指.5、 MXVerifyPIN(验证用户)函数原型: int MXVerifyPIN (HANDLE iDev

39、Handle,char* pUserPIN)参数说明:参数类型参数名参数说明HANDLE iDevHandle设备的句柄,由MXOpenDevice接口创建;char* pUserPIN为待验证用户的PIN; 返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:验证用户的PIN。注意事项:无6、 MXUserLogout(登出用户)函数原型: int MXUserLogout (HANDLE iDevHandle,int* oUserFlag,char* oUserName)参数说明:参数类型参数名参数说明HANDLE iDevHandle设备的句柄,由MXOpenDevi

40、ce接口创建;int*oUserFlag当前登出设备用户的标识;char* oUserName当前登出设备用户的用户名; 返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:登出当前设备,并返回当前用户的标识及用户名。注意事项:无3.3.2、指纹采集7、 MXGetFpImage(获取指纹图像)函数原型: int MXGetFpImage (HANDLE iDevHandle,BYTE * oImgData)参数说明:参数类型参数名参数说明HANDLE iDevHandle设备的句柄,由MXOpenDevice接口创建;BYTE *oImgData返回的指纹数据;返回值:

41、FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:获取指纹图像数据。注意事项:无8、 MXMakeBMPFile(生成指纹图像文件)函数原型: int MXMakeBMPFile (char* iFileName,BYTE *oPicData)参数说明:参数类型参数名参数说明char*iFileName生成的BMP指纹图像文件,为完整路径文件名,如:c:MyPicFile.bmpBYTE *iPicData为生成用户,验证用户时回传的指纹图像数据;返回值: FPOK:成功; 其它: 失败;请参照错误消息代码;功能说明:获取指纹图像数据。注意事项:无9、 MXDetectFinger(探测手指)函数原型: int MXDetectFinger(HANDLE hDevHandle)参数说明:参

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com