//--------------------------------------------------------------------------- #ifndef InterfaceH #define InterfaceH //--------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif #define TOKEN_TYPE_MW21 0x21 //"类型21" #define TOKEN_TYPE_GD31 0x31 //"类型31" #define TOKEN_TYPE_GD33 0x33 //"类型33" #define TOKEN_TYPE_MW23 0x23 //"类型23" #define TOKEN_TYPE_GD35 0x35 //"类型35" //错误 #define OK_FORMAT_COMPLETE 0 #define ERR_ALREADY_PROCESSING -1 #define ERR_PARAM_EMPTY -2 #define ERR_BUFFER_TOO_SMALL -3 #define ERR_NAME_TOO_LONG -4 #define ERR_MULTI_TOKENS -5 #define ERR_FIND_TOKEN -6 #define ERR_CONNECT_TOKEN -7 #define ERR_VERIFY_SUPER_PWD -8 #define ERR_VERIFY_USER_PWD -9 #define ERR_BLANK_TOKEN -10 #define ERR_READ_SN -11 #define ERR_MW21DRV_NOTEXIST -12 #define ERR_GD31DRV_NOTEXIST -13 #define ERR_SET_USER_PWD -14 //以下错误发生,会重新尝试格式化key #define ERR_FORMAT_TOKEN -20 #define ERR_CREATE_CONTAINER -21 #define ERR_GENERATE_RSAKEY -22 #define ERR_EXPORT_PUBKEY -23 #define ERR_GENERATE_CERTREQ -24 #define ERR_REQ_SINGATURE -25 #define ERR_CREATE_V0 -26 #define ERR_CREATE_P0 -27 #define ERR_CREATE_P2 -28 #define ERR_WRITE_V0 -29 #define ERR_WRITE_P0 -30 #define ERR_WRITE_P2 -31 #define ERR_READ_V0 -32 #define ERR_READ_P0 -33 #define ERR_READ_P2 -34 #define ERR_VERIFY_V0 -35 #define ERR_VERIFY_P0 -36 #define ERR_VERIFY_P2 -37 #define ERR_WRITE_BACK -38 #define ERR_UNKNOWN_EXCEPTION -39 #define ERR_STR_ALREADY_PROCESSING "有其他的格式化操作正在进行。" #define ERR_STR_PARAM_EMPTY "输入变量为空。" #define ERR_STR_BUFFER_TOO_SMALL "输出缓冲太小。" #define ERR_STR_NAME_TOO_LONG "申请人姓名太长。" #define ERR_STR_MULTI_TOKENS "电脑上有多个USBKEY。" #define ERR_STR_FIND_TOKEN "搜索USBKEY失败。请确认是否插好。" #define ERR_STR_CONNECT_TOKEN "连接USBKEY出错。请插拔后再试。" #define ERR_STR_VERIFY_SUPER_PWD "验证USBKEY超级口令失败。" #define ERR_STR_VERIFY_USER_PWD "验证USBKEY用户口令失败。" #define ERR_STR_SET_USER_PWD "修改用户口令失败。" #define ERR_STR_BLANK_TOKEN "清空USBKEY失败。" #define ERR_STR_READ_SN "读取USBKEY序列号失败。请更换设备。" #define ERR_STR_MW21DRV_NOTEXIST "21型驱动尚未安装。请安装驱动。" #define ERR_STR_GD31DRV_NOTEXIST "31型驱动尚未安装。请安装驱动。" #define ERR_STR_FORMAT_TOKEN "格式化失败。请插拔后再试或者更换设备。" #define ERR_STR_CREATE_CONTAINER "创建容器失败。请更换设备。" #define ERR_STR_GENERATE_RSAKEY "生成密钥对失败。请更换设备。" #define ERR_STR_EXPORT_PUBKEY "导出公钥失败。请更换设备。" #define ERR_STR_GENERATE_CERTREQ "生成证书请求失败。请更换设备。" #define ERR_STR_REQ_SINGATURE "证书请求的签名验证失败。请更换设备。" #define ERR_STR_CREATE_V0 "创建文件v0失败。请更换设备。" #define ERR_STR_CREATE_P0 "创建文件p0失败。请更换设备。" #define ERR_STR_CREATE_P2 "创建文件p2失败。请更换设备。" #define ERR_STR_WRITE_V0 "写入文件v0失败。请更换设备。" #define ERR_STR_WRITE_P0 "写入文件p0失败。请更换设备。" #define ERR_STR_WRITE_P2 "写入文件p2失败。请更换设备。" #define ERR_STR_READ_V0 "读取文件v0失败。请更换设备。" #define ERR_STR_READ_P0 "读取文件p0失败。请更换设备。" #define ERR_STR_READ_P2 "读取文件p2失败。请更换设备。" #define ERR_STR_VERIFY_V0 "校验文件v0失败。请更换设备。" #define ERR_STR_VERIFY_P0 "校验文件p0失败。请更换设备。" #define ERR_STR_VERIFY_P2 "校验文件p2失败。请更换设备。" #define ERR_STR_WRITE_BACK "回写标志失败" #define ERR_STR_UNKNOWN_EXCEPTION "发生未知异常" /* 证书系统: "身份证" A "护照" B "军人证" C "户口簿" D "居住证" E "监护人证件" F "武警身份证" G "通行证" H "暂住证" I "其他" Z 主机: 居民身份证 P01 学生证 P02 临时居民身份证 P03 军人证 P04 武警身份证 P08 居民户口簿 P16 通行证 P18 回乡证 P19 护照 P31 */ __declspec(dllexport) int __stdcall CalcCheckValue(char* pszTokenNum , int nTokenNum); #define CERTTYPE_RSA1024 6 #define CERTTYPE_RSA2048 7 #define CERTTYPE_SM2_256 8 __declspec(dllexport) int __stdcall InitToken(char* pszCertType, int& nTokenType, //char* pszTokenType, int& nTokenType, char* pszOldSuperPwd, char* pszUserName, char* pszUserIDType, char* pszUserIDNo, char* pszTokenSn, int& nTokenSn, //至少16字节 char* pszPKCS10, int& nPKCS10, //建议大小1024字节 char* pszMsg, int& nMsg //建议至少100字节 ); __declspec(dllexport) int __stdcall EndInitToken(); // add by wr 20151019 __declspec(dllexport) int __stdcall GetUKeyID(char *pUKeyID, int &nUKeyID); #ifdef __cplusplus } #endif #endif