Interface.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. //---------------------------------------------------------------------------
  2. #ifndef InterfaceH
  3. #define InterfaceH
  4. //---------------------------------------------------------------------------
  5. #ifdef __cplusplus
  6. extern "C"
  7. {
  8. #endif
  9. #define TOKEN_TYPE_MW21 0x21 //"类型21"
  10. #define TOKEN_TYPE_GD31 0x31 //"类型31"
  11. #define TOKEN_TYPE_GD33 0x33 //"类型33"
  12. #define TOKEN_TYPE_MW23 0x23 //"类型23"
  13. #define TOKEN_TYPE_GD35 0x35 //"类型35"
  14. //错误
  15. #define OK_FORMAT_COMPLETE 0
  16. #define ERR_ALREADY_PROCESSING -1
  17. #define ERR_PARAM_EMPTY -2
  18. #define ERR_BUFFER_TOO_SMALL -3
  19. #define ERR_NAME_TOO_LONG -4
  20. #define ERR_MULTI_TOKENS -5
  21. #define ERR_FIND_TOKEN -6
  22. #define ERR_CONNECT_TOKEN -7
  23. #define ERR_VERIFY_SUPER_PWD -8
  24. #define ERR_VERIFY_USER_PWD -9
  25. #define ERR_BLANK_TOKEN -10
  26. #define ERR_READ_SN -11
  27. #define ERR_MW21DRV_NOTEXIST -12
  28. #define ERR_GD31DRV_NOTEXIST -13
  29. #define ERR_SET_USER_PWD -14
  30. //以下错误发生,会重新尝试格式化key
  31. #define ERR_FORMAT_TOKEN -20
  32. #define ERR_CREATE_CONTAINER -21
  33. #define ERR_GENERATE_RSAKEY -22
  34. #define ERR_EXPORT_PUBKEY -23
  35. #define ERR_GENERATE_CERTREQ -24
  36. #define ERR_REQ_SINGATURE -25
  37. #define ERR_CREATE_V0 -26
  38. #define ERR_CREATE_P0 -27
  39. #define ERR_CREATE_P2 -28
  40. #define ERR_WRITE_V0 -29
  41. #define ERR_WRITE_P0 -30
  42. #define ERR_WRITE_P2 -31
  43. #define ERR_READ_V0 -32
  44. #define ERR_READ_P0 -33
  45. #define ERR_READ_P2 -34
  46. #define ERR_VERIFY_V0 -35
  47. #define ERR_VERIFY_P0 -36
  48. #define ERR_VERIFY_P2 -37
  49. #define ERR_WRITE_BACK -38
  50. #define ERR_UNKNOWN_EXCEPTION -39
  51. #define ERR_STR_ALREADY_PROCESSING "有其他的格式化操作正在进行。"
  52. #define ERR_STR_PARAM_EMPTY "输入变量为空。"
  53. #define ERR_STR_BUFFER_TOO_SMALL "输出缓冲太小。"
  54. #define ERR_STR_NAME_TOO_LONG "申请人姓名太长。"
  55. #define ERR_STR_MULTI_TOKENS "电脑上有多个USBKEY。"
  56. #define ERR_STR_FIND_TOKEN "搜索USBKEY失败。请确认是否插好。"
  57. #define ERR_STR_CONNECT_TOKEN "连接USBKEY出错。请插拔后再试。"
  58. #define ERR_STR_VERIFY_SUPER_PWD "验证USBKEY超级口令失败。"
  59. #define ERR_STR_VERIFY_USER_PWD "验证USBKEY用户口令失败。"
  60. #define ERR_STR_SET_USER_PWD "修改用户口令失败。"
  61. #define ERR_STR_BLANK_TOKEN "清空USBKEY失败。"
  62. #define ERR_STR_READ_SN "读取USBKEY序列号失败。请更换设备。"
  63. #define ERR_STR_MW21DRV_NOTEXIST "21型驱动尚未安装。请安装驱动。"
  64. #define ERR_STR_GD31DRV_NOTEXIST "31型驱动尚未安装。请安装驱动。"
  65. #define ERR_STR_FORMAT_TOKEN "格式化失败。请插拔后再试或者更换设备。"
  66. #define ERR_STR_CREATE_CONTAINER "创建容器失败。请更换设备。"
  67. #define ERR_STR_GENERATE_RSAKEY "生成密钥对失败。请更换设备。"
  68. #define ERR_STR_EXPORT_PUBKEY "导出公钥失败。请更换设备。"
  69. #define ERR_STR_GENERATE_CERTREQ "生成证书请求失败。请更换设备。"
  70. #define ERR_STR_REQ_SINGATURE "证书请求的签名验证失败。请更换设备。"
  71. #define ERR_STR_CREATE_V0 "创建文件v0失败。请更换设备。"
  72. #define ERR_STR_CREATE_P0 "创建文件p0失败。请更换设备。"
  73. #define ERR_STR_CREATE_P2 "创建文件p2失败。请更换设备。"
  74. #define ERR_STR_WRITE_V0 "写入文件v0失败。请更换设备。"
  75. #define ERR_STR_WRITE_P0 "写入文件p0失败。请更换设备。"
  76. #define ERR_STR_WRITE_P2 "写入文件p2失败。请更换设备。"
  77. #define ERR_STR_READ_V0 "读取文件v0失败。请更换设备。"
  78. #define ERR_STR_READ_P0 "读取文件p0失败。请更换设备。"
  79. #define ERR_STR_READ_P2 "读取文件p2失败。请更换设备。"
  80. #define ERR_STR_VERIFY_V0 "校验文件v0失败。请更换设备。"
  81. #define ERR_STR_VERIFY_P0 "校验文件p0失败。请更换设备。"
  82. #define ERR_STR_VERIFY_P2 "校验文件p2失败。请更换设备。"
  83. #define ERR_STR_WRITE_BACK "回写标志失败"
  84. #define ERR_STR_UNKNOWN_EXCEPTION "发生未知异常"
  85. /*
  86. 证书系统:
  87. "身份证" A
  88. "护照" B
  89. "军人证" C
  90. "户口簿" D
  91. "居住证" E
  92. "监护人证件" F
  93. "武警身份证" G
  94. "通行证" H
  95. "暂住证" I
  96. "其他" Z
  97. 主机:
  98. 居民身份证 P01
  99. 学生证 P02
  100. 临时居民身份证 P03
  101. 军人证 P04
  102. 武警身份证 P08
  103. 居民户口簿 P16
  104. 通行证 P18
  105. 回乡证 P19
  106. 护照 P31
  107. */
  108. __declspec(dllexport)
  109. int __stdcall CalcCheckValue(char* pszTokenNum , int nTokenNum);
  110. #define CERTTYPE_RSA1024 6
  111. #define CERTTYPE_RSA2048 7
  112. #define CERTTYPE_SM2_256 8
  113. __declspec(dllexport)
  114. int __stdcall InitToken(char* pszCertType,
  115. int& nTokenType, //char* pszTokenType, int& nTokenType,
  116. char* pszOldSuperPwd,
  117. char* pszUserName,
  118. char* pszUserIDType,
  119. char* pszUserIDNo,
  120. char* pszTokenSn, int& nTokenSn, //至少16字节
  121. char* pszPKCS10, int& nPKCS10, //建议大小1024字节
  122. char* pszMsg, int& nMsg //建议至少100字节
  123. );
  124. __declspec(dllexport)
  125. int __stdcall EndInitToken();
  126. // add by wr 20151019
  127. __declspec(dllexport)
  128. int __stdcall GetUKeyID(char *pUKeyID, int &nUKeyID);
  129. #ifdef __cplusplus
  130. }
  131. #endif
  132. #endif