123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- //---------------------------------------------------------------------------
- #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
|