first commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
#ifndef _IC_API_H_
|
||||
#define _IC_API_H_
|
||||
|
||||
|
||||
int Read_hsm_model(char * data_out,char * data_len);
|
||||
int Read_role_type(char * data_out,char * data_len);
|
||||
int CARD_format(char* hsm_model);
|
||||
int CARD_PRESSENT(void);
|
||||
int IC_PIN_change(char * PIN_new, unsigned char new_len);
|
||||
int IC_PIN_verify(char * PIN_str, unsigned char PIN_len);
|
||||
int IC_crypt_change(char*key);
|
||||
int IC_int_change(char*key);
|
||||
int write_trans_key(char *index_str,unsigned char str_len,char * data_in,unsigned short in_len);
|
||||
int read_trans_key(char *index_str,unsigned char str_len,char * data_out,unsigned short *out_len);
|
||||
int write_memery_data(unsigned short offset,char * data_in, unsigned short in_len);
|
||||
int read_memery_data(unsigned short offset,char * data_out, unsigned short out_len);
|
||||
int reg_cardholder(char* role_type);
|
||||
int reg_dev(char record_num,char* HSM);
|
||||
int read_reg(char data_out[0x10][0x10]);
|
||||
int IC_poweron(void);
|
||||
int Publish_Card(char* hsm_model);
|
||||
void Check_LRC(unsigned char *BCD,unsigned short LEN);
|
||||
int chk8024(void);
|
||||
int IC_SUPIN_verify(char * PIN_str,unsigned char PIN_len);
|
||||
int IC_SUPIN_change(char * PIN_new,unsigned char new_len);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+281
@@ -0,0 +1,281 @@
|
||||
#ifndef _SJL19_h_
|
||||
#define _SJL19_h_
|
||||
|
||||
#define PCI_DEVNAME "/dev/SJK1117Card0"
|
||||
#define PCI_KEY 0x400
|
||||
|
||||
#define ERR_RESPOND_LEN -1
|
||||
#define ERR_PARAM_FAILED -2
|
||||
#define ERR_RESPOND_TIMEOUT -3
|
||||
#define ERR_DEAL_CHK -4
|
||||
|
||||
#define ERR_PARAM -7
|
||||
#define ERR_OPENDEV -8
|
||||
#define ERR_FORK -9
|
||||
|
||||
#define CI_NOCI 0xFF
|
||||
#define CI_DES 0x10
|
||||
#define CI_3DES 0x20
|
||||
#define CI_IDEA 0x30
|
||||
#define CI_SEA 0x40
|
||||
#define CI_SP02 0x50
|
||||
#define CI_RSA128 0x60
|
||||
#define CI_RSA256 0x70
|
||||
|
||||
#define KI_ZMK 0
|
||||
#define KI_ZPK 1
|
||||
#define KI_ZAK 2
|
||||
#define KI_ZEK 3
|
||||
#define KI_TMK 4
|
||||
#define KI_TPK 5
|
||||
#define KI_TAK 6
|
||||
#define KI_TEK 7
|
||||
#define KI_PVK 8
|
||||
#define KI_CVK 9
|
||||
#define KI_RAK 10
|
||||
#define KI_PEK 11
|
||||
#define KI_PMK 12
|
||||
#define KI_ICKEY 13
|
||||
//加解密PIN BLOCK的PIK
|
||||
#define KI_PIK 49
|
||||
|
||||
#ifndef HAVE_
|
||||
#define HAVE_
|
||||
typedef struct _DEV_HANDLE {
|
||||
int handle;
|
||||
int msgqid;
|
||||
int pid;
|
||||
}DevHandle;
|
||||
#endif
|
||||
|
||||
/*
|
||||
ZMK: LMK0
|
||||
ZPK: LMK1
|
||||
ZAK: LMK2
|
||||
ZEK: LMK3
|
||||
TMK: LMK4
|
||||
TPK: LMK5
|
||||
TAK: LMK6
|
||||
TEK: LMK7
|
||||
PVK: LMK8
|
||||
CVK: LMK9
|
||||
RAK: LMK10
|
||||
PEK: LMK11
|
||||
PMK: LMK12
|
||||
IC_KEY:LMK13(旧IC卡,除交易签名密钥外的其他IC卡密钥)
|
||||
IC_KEY:LMK14(旧IC卡,IC卡交易签名密钥)
|
||||
PCK: LMK15
|
||||
IC_KEY:LMK16(新IC卡,所有密钥)
|
||||
RPK: LMK17
|
||||
*/
|
||||
|
||||
struct SJL19_Head
|
||||
{
|
||||
unsigned char head[32];
|
||||
unsigned char command;
|
||||
unsigned char cipher;
|
||||
unsigned char datalen_h;
|
||||
unsigned char datalen_l;
|
||||
};
|
||||
|
||||
|
||||
#define ERR_RESPOND_LEN -1
|
||||
#define ERR_PARAM_FAILED -2
|
||||
#define ERR_RESPOND_TIMEOUT -3
|
||||
#define ERR_DEAL_CHK -4
|
||||
|
||||
#define PUTU32(ct, st) \
|
||||
{ (ct)[0] = (unsigned int8_t)((st) >> 24); \
|
||||
(ct)[1] = (unsigned int8_t)((st) >> 16); \
|
||||
(ct)[2] = (unsigned int8_t)((st) >> 8); \
|
||||
(ct)[3] = (unsigned int8_t)(st); }
|
||||
extern int GetCRC(unsigned char *data, int len, unsigned char crc[2]);
|
||||
/*
|
||||
状态管理指令集(Group=1)
|
||||
编号 功能 代码 函数名称
|
||||
1加密卡硬件自检 0x10 int SJL19_SelfTest(int hPCI)
|
||||
2加密卡初始化 0x11 int SJL19_CardInit(int hPCI)
|
||||
3取得加密卡状态 0x12
|
||||
*/
|
||||
extern int SJL19_SelfTest(int hPCI);
|
||||
extern int SJL19_CardInit(int hPCI);
|
||||
extern int SJL19_GetCardInfo(int hPCI,
|
||||
unsigned char CardSerial[8],
|
||||
unsigned char CardVersion[4],
|
||||
unsigned char LMKCheckString[16],
|
||||
unsigned char *CardState,
|
||||
unsigned char LoginState[3]);
|
||||
|
||||
/*
|
||||
2.2 安全管理指令集(Group=2)
|
||||
编号 指令内容 指令代码 函数定义
|
||||
1 管理员登录 0x20 int SJL19_OperLogin(int hPCI,unsigned char OperIndex,unsigned char OperPasswd[8])
|
||||
2 退到正常状态 0x21 int SJL19_LogoutToNormal(int hPCI)
|
||||
3 退到未登录状态 0x22 int SJL19_LogoutToNologin(int hPCI)
|
||||
4 修改管理员口令 0x23 int SJL19_ChangePassword(int hPCI,unsigned char OperIndex,unsigned char OldPwd[8],unsigned char NewPwd[8])
|
||||
*/
|
||||
extern int SJL19_OperLogin(int hPCI, unsigned char OperIndex, unsigned char OperPasswd[8]);
|
||||
extern int SJL19_LogoutToNormal(int hPCI);
|
||||
extern int SJL19_LogoutToNologin(int hPCI);
|
||||
extern int SJL19_ChangePassword(int hPCI, unsigned char OperIndex, unsigned char OldPwd[8], unsigned char NewPwd[8]);
|
||||
extern int SJL19_GenerateRand(int hPCI, unsigned char rand[16]);
|
||||
extern int SJL19_ReadFlash(int hPCI, unsigned int address, unsigned char *data, unsigned int datalen);
|
||||
extern int SJL19_SetLmkToTemp(int hPCI, unsigned char lmk[800]);
|
||||
extern int SJL19_MoveLmkToWork(int hPCI);
|
||||
extern int SJL19_ConvertDataByLMK_TempToWork(int hPCI, int Cipher, int Index, unsigned char Data[16]);
|
||||
extern int SJL19_ConvertDataByLMK_WorkToTemp(int hPCI, int Cipher, int Index, unsigned char Data[16]);
|
||||
extern int SJL19_EncryptByLMK(int hPCI, int Cipher, int Index, unsigned char *Data, unsigned int data_len);
|
||||
extern int SJL19_DecryptByLMK(int hPCI, int Cipher, int Index, unsigned char *Data, unsigned int data_len);
|
||||
extern int SJL19_EncryptByWorkKey(int hPCI, int Cipher, unsigned char WorkKey[16], unsigned char *Data, unsigned int data_len);
|
||||
extern int SJL19_DecryptByWorkKey(int hPCI, int Cipher, unsigned char WorkKey[16], unsigned char *Data, unsigned int data_len);
|
||||
/*用工作密钥(密文)加密数据*/
|
||||
extern int SJL19_EncryptByEncWorkKey(int hPCI, int Cipher, int Index, int LMKCipher,
|
||||
unsigned char WorkKey[16], unsigned char *Data,
|
||||
unsigned int data_len);
|
||||
/*用工作密钥(密文)解密数据*/
|
||||
extern int SJL19_DecryptByEncWorkKey(int hPCI, int Cipher, int Index, int LMKCipher,
|
||||
unsigned char WorkKey[16], unsigned char *Data,
|
||||
unsigned int data_len);
|
||||
/* 产生RSA密钥对(私钥明文)*/
|
||||
extern int SJL19_GenerateRsaKey(int hPCI, int Cipher, unsigned char PublicKey[256], unsigned char PrivateKey[256]);
|
||||
/* 产生RSA密钥对(私钥密文)*/
|
||||
extern int SJL19_GenerateRsaEncKey(int hPCI, int Cipher, int Index, int LMKCipher, unsigned char PublicKey[256], unsigned char PrivateKey[256]);
|
||||
/* 用RSA公钥加密数据*/
|
||||
extern int SJL19_EncryptByPublicKey_RSA(int hPCI, int Cipher, unsigned char PublicKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA公钥解密数据*/
|
||||
extern int SJL19_DecryptByPublicKey_RSA(int hPCI, int Cipher, unsigned char PublicKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA私钥明文加密数据*/
|
||||
extern int SJL19_EncryptByPrivateKey_RSA(int hPCI, int Cipher, unsigned char PrivateKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA私钥明文解密数据*/
|
||||
extern int SJL19_DecryptByPrivateKey_RSA(int hPCI, int Cipher, unsigned char PrivateKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA私钥密文加密数据*/
|
||||
extern int SJL19_EncryptByEncPrivateKey_RSA(int hPCI, int Cipher, int Index, int LMKCipher, unsigned char PrivateKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA私钥密文加密数据*/
|
||||
extern int SJL19_DecryptByEncPrivateKey_RSA(int hPCI, int Cipher, int Index, int LMKCipher, unsigned char PrivateKey[256], unsigned char *Data, int data_len);
|
||||
/*数据由LMK加密转换为用工作密钥(密文)加密*/
|
||||
extern int SJL19_EncryptBy_LMKToEncWorkkey(int hPCI, int Cipher, int Index1, int Index2, int LMKCipher, unsigned char WorkKey[16], unsigned char *Data, int data_len);
|
||||
/*数据由工作密钥(密文)加密转换为用LMK加密*/
|
||||
extern int SJL19_EncryptBy_EncWorkkeyToLMK(int hPCI, int Cipher, int Index1, int Index2, int LMKCipher, unsigned char WorkKey[16], unsigned char *Data, int data_len);
|
||||
/*数据由工作密钥一(密文)加密转换为用工作密钥二(密文)加密*/
|
||||
extern int SJL19_EncryptBy_EncWorkkey1ToEncWorkkey2(int hPCI, int Cipher, int Index1, int Index2,
|
||||
int LMKCipher,
|
||||
unsigned char WorkKey1[16],
|
||||
unsigned char WorkKey2[16],
|
||||
unsigned char *Data, int data_len);
|
||||
/*数据在同一LMK下进行加密算法转换*/
|
||||
extern int SJL19_ConvertByLMK(int hPCI, int Index,
|
||||
int LMKCipher1, int LMKCipher2,
|
||||
unsigned char *Data, int data_len);
|
||||
/*数据在同一工作密钥(密文)下进行加密算法转换*/
|
||||
extern int SJL19_ConvertByWorkKey(int hPCI, int Index,
|
||||
int LMKCipher, int KeyCipher1, int KeyCipher2,
|
||||
unsigned char WorkKey[16],
|
||||
unsigned char *Data, int data_len);
|
||||
/*PINBLOCK由工作密钥一(密文)加密转为PIN用工作密钥二(密文)加密*/
|
||||
extern int SJL19_PinblockToPin(int hPCI, int Cipher, int Index1, int Index2,
|
||||
int LMKCipher, unsigned char PINFormat,
|
||||
unsigned char WorkKey1[16], unsigned char WorkKey2[16],
|
||||
unsigned char PAN[8], unsigned char PINBLOCK[8]/*PinBlock(In)Pin(Out)*/);
|
||||
|
||||
/* PIN用工作密钥一(密文)转为PINBLOCK用工作密钥二(密文)加密*/
|
||||
extern int SJL19_PinToPinblock(int hPCI, int Cipher, int Index1, int Index2,
|
||||
int LMKCipher, unsigned char PINFormat,
|
||||
unsigned char WorkKey1[16], unsigned char WorkKey2[16],
|
||||
unsigned char PAN[8], unsigned char PINBLOCK[8]/*Pin(In)PinBlock(Out)*/);
|
||||
extern int SJL19_MD5(int hPCI, unsigned char *Data, unsigned int data_len, unsigned char Code[16]);
|
||||
extern int GetCRC(unsigned char *data, int len, unsigned char crc[2]);
|
||||
/*
|
||||
2.1 状态管理指令集(Group=1)
|
||||
编号 功能 代码 函数名称
|
||||
1 加密卡硬件自检 0x10 int SJL19_SelfTest(int hPCI)
|
||||
2 加密卡初始化 0x11 int SJL19_CardInit(int hPCI)
|
||||
3 取得加密卡状态 0x12
|
||||
*/
|
||||
extern int SJL19_SelfTest(int hPCI);
|
||||
extern int SJL19_CardInit(int hPCI);
|
||||
extern int SJL19_GetCardInfo(int hPCI,
|
||||
unsigned char CardSerial[8],
|
||||
unsigned char CardVersion[4],
|
||||
unsigned char LMKCheckString[16],
|
||||
unsigned char *CardState,
|
||||
unsigned char LoginState[3] );
|
||||
|
||||
/*
|
||||
2.2 安全管理指令集(Group=2)
|
||||
编号 指令内容 指令代码 函数定义
|
||||
1 管理员登录 0x20 int SJL19_OperLogin(int hPCI,unsigned char OperIndex,unsigned char OperPasswd[8])
|
||||
2 退到正常状态 0x21 int SJL19_LogoutToNormal(int hPCI)
|
||||
3 退到未登录状态 0x22 int SJL19_LogoutToNologin(int hPCI)
|
||||
4 修改管理员口令 0x23 int SJL19_ChangePassword(int hPCI,unsigned char OperIndex,unsigned char OldPwd[8],unsigned char NewPwd[8])
|
||||
*/
|
||||
extern int SJL19_OperLogin(int hPCI, unsigned char OperIndex, unsigned char OperPasswd[8]);
|
||||
extern int SJL19_LogoutToNormal(int hPCI);
|
||||
extern int SJL19_LogoutToNologin(int hPCI);
|
||||
extern int SJL19_ChangePassword(int hPCI, unsigned char OperIndex, unsigned char OldPwd[8], unsigned char NewPwd[8]);
|
||||
extern int SJL19_GenerateRand(int hPCI, unsigned char rand[16]);
|
||||
extern int SJL19_ReadFlash(int hPCI, unsigned int address, unsigned char *data, unsigned int datalen);
|
||||
extern int SJL19_WriteFlash(int hPCI, unsigned int address, unsigned char *data, unsigned int datalen);
|
||||
extern int SJL19_SetLmkToTemp(int hPCI, unsigned char lmk[800]);
|
||||
extern int SJL19_MoveLmkToWork(int hPCI);
|
||||
extern int SJL19_ConvertDataByLMK_TempToWork(int hPCI, int Cipher, int Index, unsigned char Data[16]);
|
||||
extern int SJL19_ConvertDataByLMK_WorkToTemp(int hPCI, int Cipher, int Index, unsigned char Data[16]);
|
||||
extern int SJL19_EncryptByLMK(int hPCI, int Cipher, int Index, unsigned char *Data, unsigned int data_len);
|
||||
extern int SJL19_DecryptByLMK(int hPCI, int Cipher, int Index, unsigned char *Data, unsigned int data_len);
|
||||
extern int SJL19_EncryptByWorkKey(int hPCI, int Cipher, unsigned char WorkKey[16], unsigned char *Data, unsigned int data_len);
|
||||
extern int SJL19_DecryptByWorkKey(int hPCI, int Cipher, unsigned char WorkKey[16], unsigned char *Data, unsigned int data_len);
|
||||
/*用工作密钥(密文)加密数据*/
|
||||
extern int SJL19_EncryptByEncWorkKey(int hPCI, int Cipher, int Index, int LMKCipher,
|
||||
unsigned char WorkKey[16], unsigned char *Data,
|
||||
unsigned int data_len);
|
||||
/*用工作密钥(密文)解密数据*/
|
||||
extern int SJL19_DecryptByEncWorkKey(int hPCI, int Cipher, int Index, int LMKCipher,
|
||||
unsigned char WorkKey[16], unsigned char *Data,
|
||||
unsigned int data_len);
|
||||
/* 产生RSA密钥对(私钥明文)*/
|
||||
extern int SJL19_GenerateRsaKey(int hPCI, int Cipher, unsigned char PublicKey[256], unsigned char PrivateKey[256]);
|
||||
/* 产生RSA密钥对(私钥密文)*/
|
||||
extern int SJL19_GenerateRsaEncKey(int hPCI, int Cipher, int Index, int LMKCipher, unsigned char PublicKey[256], unsigned char PrivateKey[256]);
|
||||
/* 用RSA公钥加密数据*/
|
||||
extern int SJL19_EncryptByPublicKey_RSA(int hPCI, int Cipher, unsigned char PublicKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA公钥解密数据*/
|
||||
extern int SJL19_DecryptByPublicKey_RSA(int hPCI, int Cipher, unsigned char PublicKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA私钥明文加密数据*/
|
||||
extern int SJL19_EncryptByPrivateKey_RSA(int hPCI, int Cipher, unsigned char PrivateKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA私钥明文解密数据*/
|
||||
extern int SJL19_DecryptByPrivateKey_RSA(int hPCI, int Cipher, unsigned char PrivateKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA私钥密文加密数据*/
|
||||
extern int SJL19_EncryptByEncPrivateKey_RSA(int hPCI, int Cipher, int Index, int LMKCipher, unsigned char PrivateKey[256], unsigned char *Data, int data_len);
|
||||
/* 用RSA私钥密文加密数据*/
|
||||
extern int SJL19_DecryptByEncPrivateKey_RSA(int hPCI, int Cipher, int Index, int LMKCipher, unsigned char PrivateKey[256], unsigned char *Data, int data_len);
|
||||
/*数据由LMK加密转换为用工作密钥(密文)加密*/
|
||||
extern int SJL19_EncryptBy_LMKToEncWorkkey(int hPCI, int Cipher, int Index1, int Index2, int LMKCipher, unsigned char WorkKey[16], unsigned char *Data, int data_len);
|
||||
/*数据由工作密钥(密文)加密转换为用LMK加密*/
|
||||
int SJL19_EncryptBy_EncWorkkeyToLMK(int hPCI, int Cipher, int Index1, int Index2, int LMKCipher, unsigned char WorkKey[16], unsigned char *Data, int data_len);
|
||||
/*数据由工作密钥一(密文)加密转换为用工作密钥二(密文)加密*/
|
||||
extern int SJL19_EncryptBy_EncWorkkey1ToEncWorkkey2(int hPCI, int Cipher, int Index1, int Index2,
|
||||
int LMKCipher,
|
||||
unsigned char WorkKey1[16],
|
||||
unsigned char WorkKey2[16],
|
||||
unsigned char *Data, int data_len);
|
||||
/*数据在同一LMK下进行加密算法转换*/
|
||||
extern int SJL19_ConvertByLMK(int hPCI, int Index,int LMKCipher1, int LMKCipher2,unsigned char *Data, int data_len);
|
||||
|
||||
/*数据在同一工作密钥(密文)下进行加密算法转换*/
|
||||
extern int SJL19_ConvertByWorkKey(int hPCI, int Index,int LMKCipher, int KeyCipher1, int KeyCipher2,
|
||||
unsigned char WorkKey[16],unsigned char *Data, int data_len);
|
||||
|
||||
/*PINBLOCK由工作密钥一(密文)加密转为PIN用工作密钥二(密文)加密*/
|
||||
extern int SJL19_PinblockToPin(int hPCI, int Cipher, int Index1, int Index2,
|
||||
int LMKCipher, unsigned char PINFormat,
|
||||
unsigned char WorkKey1[16], unsigned char WorkKey2[16],
|
||||
unsigned char PAN[8], unsigned char PINBLOCK[8]//PinBlock(In)Pin(Out)
|
||||
);
|
||||
/* PIN用工作密钥一(密文)转为PINBLOCK用工作密钥二(密文)加密*/
|
||||
extern int SJL19_PinToPinblock(int hPCI, int Cipher, int Index1, int Index2,
|
||||
int LMKCipher, unsigned char PINFormat,
|
||||
unsigned char WorkKey1[16], unsigned char WorkKey2[16],
|
||||
unsigned char PAN[8], unsigned char PINBLOCK[8]//Pin(In)PinBlock(Out)
|
||||
);
|
||||
extern int SJL19_MD5(int hPCI, unsigned char *Data, unsigned int data_len, unsigned char Code[16]);
|
||||
|
||||
#endif
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
#ifndef _ASC16_H_
|
||||
#define _ASC16_H_
|
||||
|
||||
extern unsigned char ASC16_Begin;
|
||||
|
||||
/* 8*16点阵数字 */
|
||||
extern unsigned char ASC16_Num[10][16];
|
||||
|
||||
/*8*16点阵斜杠符号*/
|
||||
extern unsigned char ASC16_Slash[16];
|
||||
|
||||
/* 8*16点阵星号*/
|
||||
extern unsigned char ASC16_Star[16];
|
||||
/* 8*16点阵小数点*/
|
||||
extern unsigned char ASC16_Dot[16];
|
||||
/* 8*16点阵逗号*/
|
||||
extern unsigned char ASC16_Comma[16];
|
||||
/* 8*16点阵空格*/
|
||||
extern unsigned char ASC16_Space[16];
|
||||
/* 8*16点阵减号*/
|
||||
extern unsigned char ASC16_Sub[16];
|
||||
/* 8*16点阵实心左箭头*/
|
||||
extern unsigned char ASC16_Arrow[16];
|
||||
/* 8*16点阵大于号*/
|
||||
extern unsigned char ASC16_Above[16];
|
||||
/* 8*16点阵小于号*/
|
||||
extern unsigned char ASC16_Below[16];
|
||||
/* 8*16点阵惊叹号*/
|
||||
extern unsigned char ASC16_Claim[16];
|
||||
/* 8*16点阵冒号*/
|
||||
extern unsigned char ASC16_Colon[16];
|
||||
/* 8*16点阵左括号*/
|
||||
extern unsigned char ASC16_LBrack[16];
|
||||
/* 8*16点阵右括号*/
|
||||
extern unsigned char ASC16_RBrack[16];
|
||||
/* 8*16点阵对勾*/
|
||||
//unsigned char ASC16_Right[16]={0x80,0x00,0x00,0x00,0x80,0xC0,0x60,0x00,0x01,0x03,0x06,0x03,0x01,0x00,0x00,0x00};
|
||||
/* 8*16点阵问号*/
|
||||
extern unsigned char ASC16_What[16];
|
||||
/* 8*16点阵左方括号*/
|
||||
extern unsigned char ASC16_LFBrack[16];
|
||||
/* 8*16点阵右方括号*/
|
||||
extern unsigned char ASC16_RFBrack[16];
|
||||
/*8*16点阵 I */
|
||||
extern unsigned char ASC16_IChar[16];
|
||||
/*8*16点阵 P */
|
||||
extern unsigned char ASC16_PChar[16];
|
||||
/*8*16点阵D*/
|
||||
extern unsigned char ASC16_DChar[16];
|
||||
/*8*16点阵N*/
|
||||
extern unsigned char ASC16_NChar[16];
|
||||
/*8*16点阵S*/
|
||||
extern unsigned char ASC16_SChar[16];
|
||||
/*8*16点阵T*/
|
||||
extern unsigned char ASC16_TChar[16];
|
||||
/*8*16点阵a*/
|
||||
extern unsigned char ASC16_aChar[16];
|
||||
/*8*16点阵g*/
|
||||
extern unsigned char ASC16_gChar[16];
|
||||
/*8*16点阵x*/
|
||||
extern unsigned char ASC16_xChar[16];
|
||||
/*8*16点阵A*/
|
||||
extern unsigned char ASC16_A_Char[16];
|
||||
/*8*16点阵B*/
|
||||
extern unsigned char ASC16_BChar[16];
|
||||
/*8*16点阵B*/
|
||||
extern unsigned char ASC16_B_Char[16];
|
||||
/*8*16点阵C*/
|
||||
extern unsigned char ASC16_CChar[16];
|
||||
/*8*16点阵D*/
|
||||
extern unsigned char ASC16_D_Char[16];
|
||||
/*8*16点阵E*/
|
||||
extern unsigned char ASC16_EChar[16];
|
||||
/*8*16点阵E*/
|
||||
extern unsigned char ASC16_E_Char[16];
|
||||
/*8*16点阵F*/
|
||||
extern unsigned char ASC16_F_Char[16];
|
||||
/*8*16点阵U*/
|
||||
extern unsigned char ASC16_U_Char[16];
|
||||
/*8*16点阵K*/
|
||||
extern unsigned char ASC16_K_Char[16];
|
||||
/*8*16点阵M*/
|
||||
extern unsigned char ASC16_M_Char[16];
|
||||
/*8*16点阵L*/
|
||||
extern unsigned char ASC16_L_Char[16];
|
||||
/*8*16点阵G*/
|
||||
extern unsigned char ASC16_G_Char[16];
|
||||
/*8*16点阵W*/
|
||||
extern unsigned char ASC16_WChar[16];
|
||||
/*8*16点阵O*/
|
||||
extern unsigned char ASC16_OChar[16];
|
||||
/*8*16点阵X*/
|
||||
extern unsigned char ASC16_X_Char[16];
|
||||
/*8*16点阵Y*/
|
||||
extern unsigned char ASC16_Y_Char[16];
|
||||
/*8*16点阵Z*/
|
||||
extern unsigned char ASC16_Z_Char[16];
|
||||
/*8*16点阵R*/
|
||||
extern unsigned char ASC16_R_Char[16];
|
||||
/* *8*16点阵'N' */
|
||||
extern unsigned char ASC16_N_Char[16];
|
||||
/* *8*16点阵'S' */
|
||||
extern unsigned char ASC16_S_Char[16];
|
||||
/* *8*16点阵'J' */
|
||||
extern unsigned char ASC16_J_Char[16];
|
||||
/* *8*16点阵'H' */
|
||||
extern unsigned char ASC16_H_Char[16];
|
||||
/* *8*16点阵'r' */
|
||||
extern unsigned char ASC16_r_Char[16];
|
||||
/* *8*16点阵'd' */
|
||||
extern unsigned char ASC16_d_Char[16];
|
||||
/* *8*16点阵'L' */
|
||||
extern unsigned char ASC16_L_Char[16];
|
||||
/* *8*16点阵'V' */
|
||||
extern unsigned char ASC16_V_Char[16];
|
||||
|
||||
extern unsigned char ASC16_End;
|
||||
|
||||
#endif /* ASC16_H_ */
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef _ASC8_H_
|
||||
#define _ASC8_H_
|
||||
|
||||
/* 6*8点阵数字*/
|
||||
unsigned char ASC8_Num[16][6];
|
||||
/* 6*8点阵小数点*/
|
||||
unsigned char ASC8_Dot[6];
|
||||
/* 6*8点阵逗号*/
|
||||
unsigned char ASC8_Comma[6];
|
||||
/* 6*8点阵空格*/
|
||||
unsigned char ASC8_Space[6];
|
||||
/* 6*8点阵减号*/
|
||||
//unsigned char ASC8_Sub[6];
|
||||
/* 6*8点阵星号*/
|
||||
unsigned char ASC8_Star[6];
|
||||
/* 6*8点阵下划线*/
|
||||
unsigned char ASC8_Line[6];
|
||||
/* 6*8点阵冒号*/
|
||||
unsigned char ASC8_Colon[6];
|
||||
/* 6*8点阵对勾*/
|
||||
//unsigned char ASC8_Right[6]={0x10,0x20,0x10,0x08,0x04,0x02};
|
||||
/* 6*8点阵叉号*/
|
||||
//unsigned char ASC8_Cross[6]={0x42,0x24,0x18,0x18,0x24,0x42};
|
||||
/* 6*8点阵斜线*/
|
||||
unsigned char ASC8_Bias[6];
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
#ifndef __COMMON_H__
|
||||
#define __COMMON_H__
|
||||
|
||||
#include <dirent.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
|
||||
void PrintHex(char *prompt,unsigned char * data,int len);
|
||||
void PrintHex_1(unsigned char *data,int len);
|
||||
void PrintAscii(unsigned char *data,int len);
|
||||
void trim(char *str);
|
||||
int my_getdate( char date[9] );
|
||||
int my_getyear();
|
||||
int my_getmonth();
|
||||
int my_getwday();
|
||||
int my_getday();
|
||||
int my_gethour();
|
||||
int my_getmin();
|
||||
int my_getsec();
|
||||
void my_swap4byte(char text[4]);
|
||||
unsigned int my_getrnd(int cnt);
|
||||
int CalcLenByDir(char *dir);
|
||||
void my_GenerateMK(unsigned char *rand,int len);
|
||||
int my_checkdate(char date[8]);
|
||||
int alltrim(char *s);
|
||||
void byte_not(unsigned char *desc,unsigned char *src,int len);
|
||||
void byte_xor(unsigned char *desc,unsigned char *src,int len);
|
||||
void byte_sub(unsigned char *desc,unsigned char *src,int len);
|
||||
void byte_add(unsigned char *desc,unsigned char *src,int len);
|
||||
void getcrc_one(unsigned char *crc,unsigned char *data,int len);
|
||||
void GetErrMsg(int ErrNo,char *msg);
|
||||
char * GetLogTime(void);
|
||||
|
||||
int SystemCmd(char * cmd);
|
||||
FILE * PopenCmd(char * cmd,char * flag);
|
||||
int FindProcess(char * name);
|
||||
void signal_set();
|
||||
|
||||
//函数功能接口定义区
|
||||
|
||||
void read_ini_file();
|
||||
|
||||
|
||||
|
||||
|
||||
//按密钥结构将密钥内容写文件
|
||||
int WritekeyToFile(unsigned char *keyfile,
|
||||
unsigned char *key_organizationnum,
|
||||
unsigned char *key_type,
|
||||
unsigned char *key_serialnum,
|
||||
unsigned int key_len,
|
||||
unsigned char *key_cryptograph,
|
||||
unsigned char *key_mac,
|
||||
unsigned char *key_starttime,
|
||||
unsigned char *key_endtime,
|
||||
unsigned char * key_index,
|
||||
unsigned char * key_algid);
|
||||
|
||||
//从某个密钥文件中按密钥结构取该密钥的内容
|
||||
int ReadkeyFromFile(unsigned char *keyfile,
|
||||
unsigned char *key_organizationnum,
|
||||
unsigned char *key_type,
|
||||
unsigned char *key_serialnum,
|
||||
unsigned int *key_len,
|
||||
unsigned char *key_cryptograph,
|
||||
unsigned char *key_mac,
|
||||
unsigned char *key_starttime,
|
||||
unsigned char *key_endtime,
|
||||
unsigned char * key_index,
|
||||
unsigned char * key_algid);
|
||||
|
||||
//从某个密钥文件中取该密钥所属的机构号
|
||||
int GetKeyOrganizationnumFromFile(unsigned char *keyfile, unsigned char *key_organizationnum, unsigned char *Key_Value);
|
||||
|
||||
//从某个密钥文件中取该密钥所属的类型
|
||||
int GetKeyTypeFromFile(unsigned char *keyfile, unsigned char *key_type, unsigned char *Key_Value);
|
||||
|
||||
//从某个密钥文件中取该密钥的编号
|
||||
int GetKeySerialnumFromFile(unsigned char *keyfile, unsigned char *key_serialnum, unsigned char *Key_Value);
|
||||
|
||||
//从某个密钥文件中取该密钥的长度
|
||||
int GetKeylenFromFile(unsigned char *keyfile, unsigned char *key_len, unsigned char *Key_Value, int *keylen);
|
||||
|
||||
//从某个密钥文件中取该密钥的密文值
|
||||
int GetKeyCryptographFromFile(unsigned char *keyfile, unsigned char *key_cryptograph, unsigned char *Key_Value);
|
||||
|
||||
//从某个密钥文件中取该密钥明文md5_MAC
|
||||
int GetKeyMacFromFile(unsigned char *keyfile, unsigned char *key_mac, unsigned char *Key_Value);
|
||||
|
||||
//从某个密钥文件中取该密钥的起始生命周期
|
||||
int GetKeyStarttimeFromFile(unsigned char *keyfile, unsigned char *key_starttime, unsigned char *Key_Value);
|
||||
|
||||
//从某个密钥文件中取该密钥的截至生命周期
|
||||
int GetKeyEndtimeFromFile(unsigned char *keyfile, unsigned char *key_endtime, unsigned char *Key_Value);
|
||||
|
||||
//从某个密钥文件中取该密钥主密钥加密索引
|
||||
int GetKeyIndexFromFile(unsigned char *keyfile, unsigned char *key_index, unsigned char *Key_Value);
|
||||
|
||||
//从某个密钥文件中取该密钥的算法模式
|
||||
int GetKeyAlgidFromFile(unsigned char *keyfile, unsigned char *key_algid, unsigned char *Key_Value);
|
||||
|
||||
|
||||
//执行某个linux指令的函数
|
||||
int MSystemCmd(char * cmd);
|
||||
|
||||
//创建密钥文件夹
|
||||
int SetKeyDir(unsigned char *dir, unsigned char *key_organizationnum, unsigned char *key_type);
|
||||
|
||||
//获取当前密钥类型目录字符串 以及 字符串的长度
|
||||
int GetKeyDir(unsigned char *dir, unsigned char *key_organizationnum, unsigned char *key_type);
|
||||
|
||||
//文件名约束函数
|
||||
int select_dir(const struct dirent *dir);
|
||||
|
||||
void get_system_time();
|
||||
void set_system_time(char * time);
|
||||
|
||||
unsigned char GetKey(void);
|
||||
unsigned char WaitKeyin(void);
|
||||
unsigned char WaitKeyin_Combine_key();
|
||||
|
||||
int GetKeyValueFile(char *filename, char* Key, char *KeyValue);
|
||||
int SetKeyValueFile(char *file_name, char *key_name, char *key_value);
|
||||
void append_key(char * file_name,char * key,char * value);
|
||||
|
||||
#define E_SYS_USER 0x70
|
||||
#define E_SYS_PWD_ERROR 0x71
|
||||
|
||||
int check_sys_pwd(const char *pwdtext);
|
||||
void modify_sys_pwd_behave(char * user_name ,char * pwd);
|
||||
void modify_sys_pwd(int old_pwd_len,char * old_pwd,int new_pwd_len,char * new_pwd);
|
||||
void system_login(unsigned char * pwd, int pwd_len);
|
||||
void sysUsecTime(long * sec, long *usec);
|
||||
|
||||
|
||||
int CheckHex(int length, unsigned char *hex);
|
||||
int CheckDec(int length, unsigned char *dec);
|
||||
int GetDecLen(int length, unsigned char *dec);
|
||||
int GetHexLen(int length, unsigned char *Hex);
|
||||
int CheckLen(int inlen, int length);
|
||||
int CheckDataLen(int inlen, int length);
|
||||
|
||||
int check_K(int length, unsigned char *hex);
|
||||
void AddOddParity(int len, unsigned char *key);
|
||||
int VerifyOddParity(int len, unsigned char *key);
|
||||
char variant(unsigned char ch);
|
||||
int check_N(unsigned char len,unsigned char *data);
|
||||
void ScanDec(int len, unsigned char *inBuf, unsigned char *outBuf);
|
||||
void ScanDecForCSC(int len, unsigned char *inBuf, unsigned char *outBuf);
|
||||
void bcd_to_dsp(char * bcd, int len, char *dsp);
|
||||
void read_ini_file();
|
||||
void reduced_bcd_to_dsp(char * bcd, int len, char *dsp);
|
||||
void vip_dsp_to_bcd(char * dsp, int len, char *bcd);
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef __CTRANSCODE_H__
|
||||
#define __CTRANSCODE_H__
|
||||
|
||||
|
||||
void Byte2String(int len, unsigned char *InBuf, unsigned char *OutBuf);
|
||||
void String2Byte(int len, unsigned char *InBuf, unsigned char *OutBuf);
|
||||
void hextoasc(unsigned char *asc,unsigned char *hex,int len);
|
||||
void asctohex(unsigned char *hex,unsigned char *asc,int len);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,24 @@
|
||||
#ifndef __CUSTOM__H__
|
||||
#define __CUSTOM__H__
|
||||
|
||||
|
||||
|
||||
|
||||
#include "ctranscode.h"
|
||||
#include "asc16.h"
|
||||
#include "asc8.h"
|
||||
#include "hzk16.h"
|
||||
#include "lcddisplay.h"
|
||||
#include "paneldeal.h"
|
||||
#include "global.h"
|
||||
#include "common.h"
|
||||
#include "serial.h"
|
||||
#include "error_no.h"
|
||||
#include "SJL19.h"
|
||||
#include "sham.h"
|
||||
#include "usboperate.h"
|
||||
#include "IC_API.h"
|
||||
#include "utils.h"
|
||||
#include "usb.h"
|
||||
#include "define.h"
|
||||
#endif
|
||||
+1506
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,671 @@
|
||||
#ifndef _ERROR_NO_H_
|
||||
#define _ERROR_NO_H_
|
||||
|
||||
#define RET_SUCCESS 0x00
|
||||
|
||||
#define ERR_CARD_SELFTEST 0x01 //卡自检硬件错误
|
||||
#define ERR_NOLMK 0x02 //卡中LMK数据无效
|
||||
#define ERR_FPGA_SELFTEST 0x03 //FPGA自检错误
|
||||
#define ERR_TIMECHIP 0x04 //时钟芯片异常
|
||||
|
||||
#define ERR_CARDCMD 0x10 //命令代码错误
|
||||
#define ERR_CARDDATA_LEN 0x11 //数据长度错误
|
||||
#define ERR_CARDDATA_CRC 0x12 //数据包CRC校验错误
|
||||
|
||||
#define ERR_OPER_ID 0x20 //管理员ID号错误
|
||||
#define ERR_OPER_PWD 0x21 //管理员口令错误
|
||||
#define ERR_OPER_CHK0 0x22 //管理员口令容错次数为0
|
||||
#define ERR_NOAUTH 0x23 //非二人登录(非授权状态)
|
||||
#define ERR_NOLOGIN 0x24 //无管理员登录(未登录状态)
|
||||
#define ERR_ALREADY_LOGIN 0x25 //管理员已经登录
|
||||
|
||||
#define ERR_AIRTHMETIC 0x30 //指定的算法无效
|
||||
#define ERR_DATALEN_8 0x31 //数据长度错误,不能被8整除
|
||||
#define ERR_DATALEN_16 0x32 //数据长度错误,不能被16整除
|
||||
#define ERR_DATALEN_128 0x33 //数据长度错误,不能被128整除
|
||||
#define ERR_DATALEN_256 0x34 //数据长度错误,不能被256整除
|
||||
#define ERR_AUTH_LMK 0x35 //指定索引的LMK被禁止
|
||||
|
||||
#define ERR_FLASH_ADD 0x40 //数据FLASH读写地址越界
|
||||
#define ERR_FLASH_WRITE 0x41 //写数据FLASH异常
|
||||
#define ERR_RANDCHIP 0x42 //随机数芯片操作异常
|
||||
#define ERR_CENCCHIP 0x43 //国密算法芯片操作异常
|
||||
|
||||
#define ERR_KEY_DATE 0x50 //密钥日期错误
|
||||
#define ERR_ADMINNO 0x51 //管理员号错误
|
||||
#define ERR_ADMINAGIN 0x52 //管理员已登录
|
||||
#define ERR_ADMINPWD 0x53 //管理员口令错误
|
||||
#define ERR_CHECKTAG 0x54 //Tag校验错误
|
||||
#define ERR_CHECKDAC 0x55 //DAC校验错误
|
||||
#define ERR_KEYFLAG 0x56 //密钥标志错误
|
||||
#define ERR_BANKNO 0x57 //银行行号错误
|
||||
#define ERR_DATALEN 0x58 //加密数据长度错误
|
||||
#define ERR_LOGINTWO 0x59 //登录的管理员人数少于两人
|
||||
#define ERR_SELFTEST 0x5A //自检失败
|
||||
#define ERR_ENCODE 0x5B //密押错误
|
||||
#define ERR_LOGINTHREE 0x5C //登录的管理员人数少于三人
|
||||
#define ERR_CHECKLMK 0x5D //系统主密钥较验错误
|
||||
#define ERR_COMMAND 0x5E //未知命令
|
||||
#define ERR_KEYAGIN 0x5F //密钥已设置
|
||||
|
||||
#define ERR_LENGTH 0x66 //数据包长度错误
|
||||
#define ERR_DATAFORMAT 0x67 //数据包格式错误
|
||||
#define ERR_DATACRC 0x68 //数据包CRC错误
|
||||
#define ERR_BANKNO_ISEMPTY 0x69 //行号为空
|
||||
|
||||
#define ERR_CARDTIMEOUT 0x6A //密押卡处理超时
|
||||
#define ERR_CARDWRITE 0x6B //写密押卡错误
|
||||
#define ERR_CARDREAD 0x6C //读密押卡错误
|
||||
#define ERR_CARDBANKNO 0x6D //行号已满
|
||||
#define ERR_OPENPCI 0x6E //密押卡打开失败
|
||||
#define ERR_CARDLEN 0x6F //卡数据长度错误
|
||||
|
||||
#define ERR_SYSTEM 0x73 //系统调用错误
|
||||
#define ERR_MSGSEND 0x74 //msgsnd系统调用失败
|
||||
#define ERR_MSGRECV 0x75 //msgrcv系统调用失败
|
||||
#define ERR_TCPLEN 0x76 //TCP数据包长度错误
|
||||
|
||||
#define ERR_INVAILD_KEY 0x77 //密钥过期
|
||||
#define ERR_FUTURE_KEY 0x78 //密钥未启用
|
||||
|
||||
#define ERR_CHECK_VALUE_NOT_EXIST 0x88
|
||||
#define ERR_KEY_EMPTY 0xA0 //没有任何密钥
|
||||
#define ERR_PORT_SAME 0xA2 //端口相同
|
||||
#define ERR_ALREADY_EXIST 0xA3 //密钥已启用
|
||||
#define ERR_IMPORT_OLD_KEY1 0xA4 //分量一导入失败
|
||||
#define ERR_IMPORT_OLD_KEY2 0xA8 //分量二密钥导入失败
|
||||
#define ERR_NOT_MANAGE 0xA5 //非管理状态
|
||||
#define ERR_NOT_LISTEN 0xA6 //非编核押状态
|
||||
#define ERR_WRITE_OFF_OLD_KEY 0xA9 //旧密钥注销失败
|
||||
#define ERR_SET_OLD_KEY 0XAA
|
||||
#define ERR_OLD_KEY_NOT_EXIST 0xCE //旧密钥不存在
|
||||
|
||||
#define ERR_IC_POWERON 0x01
|
||||
#define ERR_IC_PRESSENT 0x02
|
||||
#define ERR_IC_PASSWD 0x03
|
||||
#define ERR_IC_GET_HSMMODEL 0x04
|
||||
#define ERR_IC_SET_HSMMODEL 0x05
|
||||
#define ERR_IC_GET_CARDHOLDER 0x06
|
||||
#define ERR_IC_SET_CARDHOLDER 0x07
|
||||
#define ERR_IC_WRITE 0x08
|
||||
#define ERR_IC_READ 0x09
|
||||
#define ERR_IC_INIT 0x0A
|
||||
#define ERR_IC_NOTSYSICCARD 0x0B
|
||||
#define ERR_IC_LMK_ONE 0x0D
|
||||
#define ERR_IC_LMK_TWO 0x0E
|
||||
#define ERR_IC_LMK_THREE 0x0F
|
||||
#define ERR_ROLE_NOTLMK 0x10
|
||||
#define ERR_ROLE_NOTCOM 0x11
|
||||
#define ERR_ROLE_NOTOPR 0x12
|
||||
#define ERR_IC_GET_REGISTER_HSM 0x13
|
||||
#define ERR_IC_HSM_REGISTERED 0x14
|
||||
#define ERR_IC_HSM_REGISTERE 0x15
|
||||
#define ERR_IC_COM_ONE 0x20
|
||||
#define ERR_IC_COM_TWO 0x21
|
||||
#define ERR_IC_OPR_ONE 0x22
|
||||
#define ERR_IC_REGISTER_LOCAL 0X23
|
||||
#define ERR_IC_NOT_REGISTER_HSM 0x24
|
||||
#define ERR_IC_NO_CARD 0x25
|
||||
#define ERR_IC_NO_ISSUE 0x26
|
||||
#define ERR_IC_HSM_CANCEL 0x27
|
||||
#define ERR_IC_CANCEL_LOCAL 0X28
|
||||
#define ERR_IC_NOT_CLEAR 0x29
|
||||
#define ERR_IC_REGISTERE_FULL 0x2A
|
||||
|
||||
#define ERR_LMK_GENERATE 0x30
|
||||
#define ERR_LMK_DISPERSE 0x31
|
||||
#define ERR_LMK_MOVE 0x32
|
||||
#define ERR_LMK_BACK 0x33
|
||||
#define ERR_LMK_RECOVER 0x34
|
||||
#define ERR_LMK_RMSEED 0x35
|
||||
#define ERR_LMK_NOSEED 0x36
|
||||
#define ERR_LMK_INEXISTENCE 0x37
|
||||
#define ERR_LMK_TEST 0x38
|
||||
#define ERR_LMK_LOCK 0x39
|
||||
#define ERR_LMK_TMP_TEST 0x3A //临时去主密钥异常
|
||||
#define ERR_LMK_DESTROY 0x3B ///*销毁主密钥*/
|
||||
|
||||
#define ERR_LOG_SETING 0x40
|
||||
#define ERR_GET_HSM_CODE 0x41
|
||||
#define ERR_GET_HSM_VERSIONS 0x42
|
||||
#define ERR_GETLMK_GENERATE_FLAG 0x43
|
||||
|
||||
#define ERR_GENERATE_TMPKEY 0x50
|
||||
#define ERR_ENCRYPT_BYTMPKEY 0x51
|
||||
#define ERR_TMPKEY_TOLMK 0x52
|
||||
#define ERR_LMK_WORK_TO_TMP 0x53 //主密钥工作区到临时去转机密失败
|
||||
|
||||
#define ERR_OPEN_SERIALPORT 0x60
|
||||
#define ERR_SET_SERIALPORT 0x61
|
||||
#define ERR_FORK_PID 0x62
|
||||
#define ERR_CLOSE_SERIALPORT 0x63
|
||||
#define ERR_KILL_PID 0x64
|
||||
#define ERR_COM_NO 0x65
|
||||
#define ERR_BOTT_NO 0x66
|
||||
#define ERR_GET_COM_NO 0x67
|
||||
#define ERR_GET_BOTT_NO 0x68
|
||||
#define ERR_GET_BINDIR 0x69 //获取工作目录失败
|
||||
#define ERR_NOT_KEYDIR 0x6A //密钥管理目录不存在
|
||||
#define ERR_OPGAN_NOT_EXIST 0x6B //机构号不存在
|
||||
#define ERR_GET_KEY 0x6C //获取密钥失败
|
||||
#define ERR_GENERATE_KEYMAC 0x6D //计算密钥MAC失败
|
||||
#define ERR_CHECK_MAC 0x6E //密钥MAC校验失败
|
||||
#define ERR_SAVE_KEY 0x6F //保存密钥失败
|
||||
#define ERR_INIFILE_NOT_EXIST 0x70 //文件不存在
|
||||
#define ERR_FILE_BACK 0x71 //文件备份失败
|
||||
#define ERR_FILE_RECOVER 0x72 //文件恢复失败
|
||||
#define ERR_FILE_GET 0x73 //文件获取失败
|
||||
#define ERR_FILE_SAVE 0x74 //文件保存失败
|
||||
#define ERR_SYS_CMD 0x75 //指令错误
|
||||
#define ERR_COM_TIME_OUT 0x76 //等待客户端连接超时
|
||||
#define ERR_HAVE_INIT 0x77 //IC卡已被初始化过
|
||||
|
||||
#define ERR_COM_TIME_FORM 0xB0 //日期格式错误
|
||||
#define ERR_KEYDB_OPEN_FAIL 0xB1 //数据库打开失败
|
||||
#define ERR_KEYDB_OPERATE_FAIL 0xB2 //数据库操作失败
|
||||
#define ERR_ENCRYPTCARD_OPERATE_FAIL 0xB3 //操作加密卡失败
|
||||
#define ERR_ORGAN_NOT_EXIST 0x8D//0xB4 //机构号不存在
|
||||
#define ERR_TYPE_NOT_EXIST 0xB5 //密钥类型不存在
|
||||
#define ERR_KEYSERIAL_EXIST 0x8E//0xBC //密钥已存在
|
||||
|
||||
#define ERR_ORGAN_SERIAL_EXIST 0xB9 //机构号已存在
|
||||
#define ERR_TYPE_SERIAL_EXIST 0xBA //密钥类型已存在
|
||||
#define ERR_KEY_CPS_FAIL 0x8F//0xBC //合成密钥失败
|
||||
#define ERR_KEY_PASSWD_FAIL 0xBD //传输密钥口令错误
|
||||
#define ERR_IMPORT_KEY_DIF 0xBE //分量录入不一致
|
||||
#define ERR_IMPORT_CHECK 0x8C//0xBF //分量校验失败
|
||||
|
||||
#define ERR_PACKET_LEN 0x9A ///*报文头应小于32:*/
|
||||
#define ERR_PACKET_TAIL_BYTES 0x9B /*报文尾应小于256:*/
|
||||
#define ERR_PACKET_FIELD_GET 0x9C //报文域设置失败
|
||||
#define ERR_COM_TIME_END 0x9D //截止日期错误
|
||||
#define ERR_COM_TIME_START 0x9E //启用日期错误
|
||||
#define ERR_PACKET_TYPE 0x9F//报文类型设置失败
|
||||
|
||||
|
||||
#define ERR_COM_GET_BINDIR 0x01 //获取工作目录失败
|
||||
#define ERR_COM_GET_KEYDIR 0x02 //获取密钥管理目录失败
|
||||
#define ERR_COM_NOT_KEYDIR 0x03 //密钥管理目录不存在
|
||||
#define ERR_COM_CREAT_ORGANINFO 0x04 //创建机构信息文件失败
|
||||
#define ERR_COM_OPEN_TORGANINFO 0x05 //打开机构信息文件失败
|
||||
#define ERR_COM_CREAT_TYPEINFO 0x06 //创建密钥类型信息文件失败
|
||||
#define ERR_COM_OPEN_TYPEINFO 0x07 //打开密钥类型信息文件失败
|
||||
#define ERR_COM_OPGAN_EXIST 0x08 //机构号已存在
|
||||
#define ERR_COM_OPGAN_NOT_EXIST 0x09 //机构号不存在
|
||||
#define ERR_COM_TYPE_EXIST 0x0A //密钥类型已存在
|
||||
#define ERR_COM_TYPE_NOT_EXIST 0x0B //密钥类型不存在
|
||||
#define ERR_COM_CREAT_OPGAN 0x0C //创建机构目录失败
|
||||
#define ERR_COM_CREAT_TYPE 0x0D //创建密钥类型目录失败
|
||||
#define ERR_COM_TYPEKEY_EXIST 0x0E //密钥类型已存在密钥
|
||||
#define ERR_COM_CREAT_RSA 0x0F //创建RSA密钥类型目录失败
|
||||
#define ERR_COM_CREAT_SM2 0x10 //创建SM2密钥类型目录失败
|
||||
#define ERR_COM_OPEN_TYPE_NUM 0x11 //打开类型密钥编号文件
|
||||
#define ERR_COM_WRITE_TYPE_NUM 0x12 //写类型密钥编号文件
|
||||
#define ERR_COM_TMKTYPE_NOT_EXIST 0x13 //通讯密钥类型不存在
|
||||
#define ERR_COM_CREAT_TYPE_NUM 0x15 //创建类型密钥编号文件
|
||||
|
||||
#define ERR_COM_GENERATE_KEY 0x20 //产生对称密钥失败
|
||||
#define ERR_COM_GENERATE_KEYMAC 0x21 //计算密钥MAC失败
|
||||
#define ERR_COM_SAVE_KEY 0x22 //保存密钥失败
|
||||
#define ERR_COM_DISPERSE_KEY 0x23 //对称密钥分散失败
|
||||
#define COM_DISPERSE_KEY_OK 0x24 //对称密钥分散成功
|
||||
#define COM_PRINT_COMPOSE_OK 0x25 //打印分量N完成
|
||||
#define ERR_COM_PRINT_NOT_PAPER 0x26 //打印机无打印纸
|
||||
#define ERR_COM_PRINT 0x27 //打印失败
|
||||
#define COM_PRINT_OK 0x28 //打印所有分量完成
|
||||
#define ERR_COM_COMPOSE 0x29 //密钥合成失败
|
||||
#define ERR_COM_GET_KEYNO 0x2A //获取密钥编号失败
|
||||
#define ERR_COM_UPDATE_KEYNO 0x2B //更新密钥编号失败
|
||||
#define ERR_COM_GENERATE_SM2 0x2C //产生SM2密钥失败
|
||||
#define ERR_COM_KEY_EXIST 0x2D //密钥已存在
|
||||
#define ERR_COM_CREAK_TMPFILE 0x2E //创建通信密钥临时文件失败
|
||||
#define ERR_COM_GET_TMPFILE 0x38 //获取通信密钥临时文件失败
|
||||
#define ERR_COM_TMK_ENCRYPT 0x2F //通信密钥加密失败
|
||||
#define ERR_COM_TMK_DECRYPT 0x30 //通信密钥解密失败
|
||||
#define ERR_COM_ASYMMETRYKEY_ENCRYPT 0x31 //非对称密钥加密失败
|
||||
#define ERR_COM_ASYMMETRYKEY_DECRYPT 0x32 //非对称密钥解密失败
|
||||
#define ERR_COM_CHECK_MAC 0x33 //密钥MAC校验失败
|
||||
#define ERR_COM_CHECK_CRC 0x34 //密钥CRC校验失败
|
||||
#define ERR_COM_GENERATE_MAC 0x35 //计算MAC失败
|
||||
#define ERR_COM_KEY_NOT_EXIST 0x36 //密钥不存在
|
||||
#define ERR_COM_GET_KEY 0x37 //获取密钥失败
|
||||
#define COM_INPUT_TMK1_OK 0x39 //分量一导入成功
|
||||
#define COM_OUTPUT_TMK1_OK 0x3D //分量一导出成功
|
||||
#define ERR_COM_TMK_NOT_EXIST 0x3A //通信密钥不存在
|
||||
#define ERR_COM_DATA_FILL 0x3B //填充数据失败
|
||||
#define ERR_COM_DATA_TRIM 0x3C //剔除数据失败
|
||||
#define ERR_COM_GENERATE_RSA 0x3E //产生RSA密钥失败
|
||||
#define ERR_COM_NOT_IC1 0x3F //非分量一IC卡
|
||||
#define ERR_COM_NOT_IC2 0x40 //非分量二IC卡
|
||||
#define ERR_COM_NOT_CLEAR_IC 0x41 //非空白IC卡
|
||||
#define ERR_COM_TMK_NOT16 0x42 //通讯密钥非16字节长度密钥
|
||||
|
||||
#define ERR_COM_IC_POWERON 0x50 //IC卡上电失败
|
||||
#define ERR_COM_IC_PRESSENT 0x51 //IC卡状态异常
|
||||
#define ERR_COM_IC_PASSWD 0x52 //IC卡原口令错误
|
||||
#define ERR_COM_IC_PIN_CHANGE 0x53 //IC卡更改口令失败
|
||||
#define ERR_COM_IC_WRITE 0x54 //IC卡写数据失败
|
||||
#define ERR_COM_IC_READ 0x55 //IC卡读数据失败
|
||||
#define ERR_COM_IC_WRITE_KEY 0x56 //IC卡写密钥失败
|
||||
#define ERR_COM_IC_READ_KEY 0x57 //IC卡读密钥失败
|
||||
#define ERR_COM_IC_NOT_SPACE 0x58 //IC卡空间已满
|
||||
#define ERR_COM_IC_CHECK_CRC 0x59 //IC卡数据CRC校验失败
|
||||
#define ERR_COM_IC_NEXT 0x5A //有后续IC卡
|
||||
#define ERR_COM_IC_NOT_NUMBER 0x5B //非NIC卡
|
||||
#define ERR_COM_IC_GET_ORGANIZA 0x5C //获取IC卡机构信息失败
|
||||
#define ERR_COM_IC_NO_CARD 0x5D //IC卡不存在
|
||||
#define ERR_COM_IC_NO_ISSUE 0x5E //IC卡未发卡
|
||||
#define ERR_COM_UNKNOWN 0x60 //未知错误
|
||||
#define ERR_USB_NOT_EXIST 0x86 //U盘不存在
|
||||
#define ERR_KEY_NOT_EXIST 0x87 //密钥不存在
|
||||
#define ERR_UPDATE_KEY 0x91 //密钥更新失败
|
||||
#define ERR_GET_OLD_KEYNUM 0x94 //获取旧密钥个数失败
|
||||
#define ERR_KEY_GENERATE_KEY 0x95 //产生对称密钥失败
|
||||
#define ERR_KEY_GENERATE_KEYMAC 0x96 //计算密钥MAC失败
|
||||
#define ERR_KEY_SCHEME 0x97 //密钥方案错误
|
||||
#define ERR_NOT_FUC 0x98 //此功能不支持
|
||||
|
||||
#define ERR_UPDATE_FILE_NOT_EXIST 0xEA //提示升级文件不存在
|
||||
#define ERR_ADMIN 0xD6 //管理员角色值不合法
|
||||
#define ERR_MANAGEUSER 0xD7 //用户状态值不合法
|
||||
#define ERR_REMOTEMANAGE 0xD8 //远程管理已占用
|
||||
#define ERR_FUNCMANAGE 0xD9 //本地管理已占用
|
||||
|
||||
|
||||
#define ERR_LMK_SHEME 0xC0 //导入LMK变种分量失败
|
||||
#define ERR_LMK_IESSUE 0xCD //导入主密钥分量失败
|
||||
|
||||
|
||||
|
||||
#define ERR_CMD_NOT_EXIST 0x0100 //网络命令不存在
|
||||
#define ERR_HEX_ERR 0x0101 //非十六进制字符
|
||||
#define ERR_DEC_ERR 0x0102 //非十进制字符
|
||||
#define ERR_MODE_ERR 0x0103 //模式错误
|
||||
#define ERR_KEYTYPE_ERR 0x0104 //密钥类型错误
|
||||
#define ERR_KEYSCHEME_ERR 0x0105 //密钥方案错误
|
||||
#define ERR_LEN_ERR 0x0106 //数据长度错误
|
||||
#define ERR_ZMK_NUMBER 0x0107 //密钥成份错误
|
||||
#define ERR_SAFEFLAG_ERR 0x0108 //安全机制错误
|
||||
#define ERR_ID_ERR 0x0109 //方案ID错误
|
||||
#define ERR_DISNUM_ERR 0x010A //离散次数错误
|
||||
#define ERR_ALGORITHM_ERR 0x010B //算法错误
|
||||
#define ERR_PINLEN_ERR 0x010C //最大密码长度错误
|
||||
#define ERR_PINFORMAT_ERR 0x010D //PIN格式错误
|
||||
#define ERR_PVKI_ERR 0x010E //PIN校验密钥编号
|
||||
#define ERR_DELIMITER_NOT_EXIST 0x010F //缺少分隔符号";"
|
||||
#define ERR_HASHFLAG_ERR 0x0110 //哈希算法标识错误
|
||||
#define ERR_FILLMODE_ERR 0x0111 //填充标识错误
|
||||
#define ERR_KEYMODE_ERR 0x0112 //获取密钥方式错误
|
||||
#define ERR_PARAM_NULL 0x0113 //入参为空
|
||||
#define ERR_PINTRANSLATE_ERR 0x0114 //PIN格式转化错误
|
||||
#define ERR_VERIFICATION_ERR 0x0115 //验证失败
|
||||
#define ERR_FILE_NOT_EXIST 0x0116 //配置文件不存在
|
||||
#define ERR_FILE_READ_FAIL 0x0117 //读取文件失败
|
||||
#define ERR_FILE_WRITE_FAIL 0x0118 //写文件失败
|
||||
#define ERR_ENLMK_ERR 0x0119 //LMK加密失败
|
||||
#define ERR_DELMK_ERR 0x011A //LMK解密失败
|
||||
#define ERR_ENWORKKEY_ERR 0x011B //工作密钥加密失败
|
||||
#define ERR_DEWORKKEY_ERR 0x011C //工作密钥解密失败
|
||||
#define ERR_MD5_ERR 0x011D //MD5失败
|
||||
#define ERR_GENRSA_ERR 0x011E //产生RSA失败
|
||||
#define ERR_PKCSSIGN_ERR 0x011F //产生签名失败
|
||||
#define ERR_PKCSVERIFYSIGN_ERR 0x0120 //签名生成摘要失败
|
||||
#define ERR_ENRSAPUBLICKEY_ERR 0x0121 //公钥加密失败
|
||||
#define ERR_DERSAPUBLICKEY_ERR 0x0122 //公钥解密失败
|
||||
#define ERR_ENRSAPRIKEY_ERR 0x0123 //私钥加密失败
|
||||
#define ERR_DERSAPRIKEY_ERR 0x0124 //私钥加密失败
|
||||
#define ERR_GETPUBLICINDEX_ERR 0x0125 //根据索引获取公钥失败
|
||||
#define ERR_GETPRIINDEX_ERR 0x0126 //根据索引获取私钥失败
|
||||
|
||||
//交易错误码集
|
||||
#define FDCM_SUCCESS 0x0000
|
||||
|
||||
#define FDCM_PARAM_NULL 0x1000 //交易入参为空
|
||||
#define FDCM_FILLMODE_ERR 0x1001
|
||||
#define FDCM_PCIWRITE_ERR 0x1002
|
||||
#define FDCM_PCIREAD_ERR 0x1003
|
||||
#define FDCM_PCILEN_ERR 0x1004
|
||||
#define FDCM_DATACRC_ERR 0x1005
|
||||
#define FDCM_MACTYPE_ERR 0x1006
|
||||
#define FDCM_CMPMAC_ERR 0x1007
|
||||
#define FDCM_CMPPVV_ERR 0x1008
|
||||
#define FDCM_CMPOFFSET_ERR 0x1009
|
||||
#define FDCM_CMPCVV_ERR 0x100A
|
||||
#define FDCM_CMPCSC1_ERR 0x100B
|
||||
#define FDCM_CMPCSC2_ERR 0x100C
|
||||
#define FDCM_CMPCSC3_ERR 0x100D
|
||||
#define FDCM_MSGLEN_ERR 0x100E
|
||||
#define FDCM_MSGSEND_ERR 0x100F
|
||||
#define FDCM_MSGRCV_ERR 0x1010
|
||||
#define FDCM_LOGTYPE_ERR 0x1011
|
||||
#define FDCM_OPENDIR_ERR 0x1012
|
||||
#define FDCM_STAT_ERR 0x1013
|
||||
#define FDCM_SCANDIR_ERR 0x1014
|
||||
#define FDCM_FILE_NOT_EXIST 0x1015
|
||||
#define FDCM_OPENFILE_ERR 0x1016
|
||||
#define FDCM_READFILE_ERR 0x1017
|
||||
#define FDCM_STATETYPE_ERR 0x1018
|
||||
#define FDCM_POPEN_ERR 0x1019
|
||||
#define FDCM_USBWRITE_ERR 0x101A
|
||||
#define FDCM_USBREAD_ERR 0x101B
|
||||
#define FDCM_CARDSTATE_ERR 0x101C
|
||||
#define FDCM_CHECKHEX_ERR 0x101D
|
||||
#define FDCM_CMD_ERR 0x101E
|
||||
#define FDCM_APPMODE_ERR 0x101F
|
||||
#define FDCM_PKINDEX_ERR 0x1020
|
||||
#define FDCM_PKALGORITHM_ERR 0x1021
|
||||
#define FDCM_CHECKDEC_ERR 0x1022
|
||||
#define FDCM_8LEN_ERR 0x1023
|
||||
#define FDCM_KEYFLAG_ERR 0x1024
|
||||
#define FDCM_CHECKLEN_ERR 0x1025
|
||||
#define FDCM_SALGORITHM_ERR 0x1026
|
||||
#define FDCM_SPKINDEX_ERR 0x1027
|
||||
#define FDCM_SPKALGORITHM_ERR 0x1028
|
||||
#define FDCM_SKEYFALG_ERR 0x1029
|
||||
#define FDCM_DALGORITHM_ERR 0x102A
|
||||
#define FDCM_DPKINDEX_ERR 0x102B
|
||||
#define FDCM_DPKALGORITHM_ERR 0x102C
|
||||
#define FDCM_DKEYFLAG_ERR 0x102D
|
||||
#define FDCM_ALGORITHM_ERR 0x102E
|
||||
#define FDCM_DISALGORITHM_ERR 0x102F
|
||||
#define FDCM_DISPKINDEX_ERR 0x1030
|
||||
#define FDCM_DISPKALGORITHM_ERR 0x1031
|
||||
#define FDCM_DISKEYFLAG_ERR 0x1032
|
||||
#define FDCM_FLAG_ERR 0x1033
|
||||
#define FDCM_PVKFLAG_ERR 0x1034
|
||||
#define FDCM_PVKI_ERR 0x1035
|
||||
#define FDCM_PINFORMAT_ERR 0x1036
|
||||
#define FDCM_ZPKALGORITHM_ERR 0x1037
|
||||
#define FDCM_ZPKLEN_ERR 0x1038
|
||||
#define FDCM_ZPKFLAG_ERR 0x1039
|
||||
#define FDCM_USERIDLEN_ERR 0x1040
|
||||
#define FDCM_4LEN_ERR 0x1041
|
||||
#define FDCM_CURVEPARA_ERR 0x1042
|
||||
#define FDCM_CURVELEN_ERR 0x1043
|
||||
#define FDCM_SEMICOLONS_ERR 0x1044
|
||||
#define FDCM_HASHTYPE_ERR 0x1045
|
||||
#define FDCM_NUMBEROFZMK_ERR 0x1046
|
||||
#define FDCM_KEYLEN_ERR 0x1047
|
||||
#define FDCM_CMPCSC_ERR 0x1048
|
||||
#define FDCM_RANDOM_ERR 0x1049
|
||||
#define FDCM_WRITE_ERR 0x1050
|
||||
#define FDCM_PCISTATE_ERR 0x1051
|
||||
#define FDCM_NOT_AUTHORISEC_ERR 0x1052
|
||||
#define FDCM_AUTHORISEC_ERR 0x1053
|
||||
#define FDCM_PINLEN_ERR 0x1054
|
||||
#define FDCM_RANDOMLEN_ERR 0x1055
|
||||
#define FDCM_DATALEN_ERR 0x1056
|
||||
#define FDCM_MAC_ERR 0x1057
|
||||
#define FDCM_ROLE_ERR 0x1058
|
||||
//交易错误码集工行
|
||||
//*******************************************************
|
||||
#define ICBC_ID_ERR 0x9000 //通用指令 指令ID不正确
|
||||
#define ICBC_KEYCLASS_ERR 0x9001 //通用指令 密钥种类错误
|
||||
#define ICBC_KEYTYPE_ERR 0x9002//通用指令 密钥类型错误
|
||||
#define ICBC_KEYLEN_ERR 0x9003 //通用指令 密钥长度错误
|
||||
//2015,4,21 add
|
||||
#define ICBC_KEYTEXT_ERR 0x9004//通用指令 密钥密文含有非法字符
|
||||
#define ICBC_KEYKCI_ERR 0x9005//通用指令密钥的KCI 校验不过
|
||||
#define ICBC_DATA_ERR 0x9006//通用指令数据含有非法字符
|
||||
#define ICBC_DATA_LEN_OVER_ERR 0x9007//通用指令数据长度值超过报文8K ,表示少于8k 的数据长度不能支持时才报错.
|
||||
#define ICBC_DATALEN_ERR 0x9008//通用指令 数据包长度异常
|
||||
#define ICBC_MSGLEN_OVER_RANGE 0x9009//通用指令 数据包长度异常超过报文8K, 断开连接
|
||||
#define ICBC_MSGLEN_OVER 0x9010//通用指令 实际接收的报文比数据包长度域长,断开连接
|
||||
#define ICBC_SNDRCV_TIMEOUT 0x9011//通用指令 实际接收的报文比数据包长度域短,加密机超时,断开连接
|
||||
|
||||
//#define ICBC_IDLEN_ERR 0x9020//ID长度错误
|
||||
#define ICBC_KEYUSE_ERR 0x9021//密钥用途错误
|
||||
#define ICBC_INCOMPLETE_KEY_ERR 0x9022//非完整密钥
|
||||
|
||||
|
||||
//2015/05/16 nifei add start
|
||||
#define ICBC_VERIFYSIGN_ERR 0x1501//验证签名失败
|
||||
#define ICBC_SIGN_ERR 0x1502//签名失败
|
||||
#define ICBC_SIGNDATALEN_ERR 0x1503//签名数据原文长度错误
|
||||
#define ICBC_SM2MODE_ERR 0x1504//SM2密钥产生模式错误
|
||||
#define ICBC_SM3HASHMODE_ERR 0x1505//SM3杂凑模式错误
|
||||
#define ICBC_IDLEN_ERR 0x1506//ID长度错误
|
||||
#define ICBC_SIGNLEN_ERR 0x1601//签名值长度错误
|
||||
#define ICBC_GENSM2KEY_ERR 0x1602//产生SM2 密钥对错误
|
||||
#define ICBC_SM3HASH_ERR 0x1603//产生SM3 HASH 错误
|
||||
#define ICBC_GENCSR_ERR 0x1604//产生SM2 证书请求错误
|
||||
#define ICBC_CERTFORMAT_ERR 0x1605//证书格式错误
|
||||
#define ICBC_CERTPUBKEY_ERR 0x1606//证书公钥和私钥的公钥部分不匹配
|
||||
#define ICBC_IPFALG_ERR 0x1701//IP格式标识错误
|
||||
#define ICBC_IPFORMAT_ERR 0x1702//IP格式错误
|
||||
#define ICBC_IPISEXIST_ERR 0x1703//IP已存在
|
||||
#define ICBC_IPCNTISOVER_ERR 0x1704//IP白名单个数已超过上限
|
||||
#define ICBC_IPWHITEISNULL_ERR 0x1705//IP白名单为空
|
||||
#define ICBC_IPNOTMATCH_ERR 0x1706//IP地址不匹配
|
||||
#define ICBC_GETVERSIONINFO_ERR 0x1707//获取加密机版本信息失败
|
||||
#define ICBC_USERRIGTH_ERR 0x1708//用户权限错误
|
||||
#define ICBC_MNGIPDEL_ERR 0x1709//管理员IP不可删除
|
||||
|
||||
//2015/05/16 nifei add end
|
||||
|
||||
|
||||
#define ICBC_PTR_FORMAT_ERR 0x1001 //D2S_PTR和S2D_PTR,DES_PTR PINBLOCK格式错误,字典只有0,4
|
||||
#define ICBC_PTR_SPAN_ERR 0x1002 //D2S_PTR和S2D_PTR,DES_PTR 转换前PAN未输入
|
||||
#define ICBC_PTR_NPAN_ERR 0x1003 //D2S_PTR和S2D_PTR,DES_PTR 转换后PAN未输入
|
||||
#define ICBC_PTR_END_ERR 0x1004 //D2S_PTR和S2D_PTR,DES_PTR 结尾符号不是;
|
||||
#define ICBC_PTR_CARDNO_ERR 0x1005 //D2S_PTR和S2D_PTR,DES_PTR卡号不是12-19位
|
||||
#define ICBC_PASSWDLEN_ERR 0x1006 //DES_RPG 密码长度错
|
||||
#define ICBC_PASSWD_PINBLOCK_ERR 0x1007//DES_EPD,DES_PTR,DES_PVG 密码,pinblock错或为空
|
||||
#define ICBC_FORMAT_PAN_ERR 0x1008 //当pin格式不为1时pan不为空
|
||||
#define ICBC_FORMAT_PAN_DATA_ERR 0x1009 //pin包含非法字符
|
||||
|
||||
#define ICBC_FILL_ERR 0x1101 //SM4_MAG和SM4_MAV DES_MPG,MAC数据补位方式错误,字典只有0,1
|
||||
#define ICBC_DATAFLAG_ERR 0x1102 //SM4_MAG和SM4_MAV DES_MPG,MAC数据块标识错误,字典只有0,1,2,3
|
||||
#define ICBC_DATA_LENGTH_OVER 0x1103
|
||||
#define ICBC_MAC_CHECK_ERR 0x1105//DES_MAV,MAC校验失败
|
||||
#define ICBC_IV_ERR 0x1106//DES_MAG,DES_MAV,SM4_CTT,初始向量错或者所需iv 错误
|
||||
#define ICBC_DATA_FLAG_ERR 0x1107//DES_MPG,DES_MAG,DES_MAV,DES_ENC,DES_DEC,SM4_MAG,SM4_MAV,SM4_CTT,报文块1,2时,mac 数据不是8/16字节的整数倍(国密为16字节,国际为8字节),或者是补位模式为0- none 或者分组为1-非最后的一个分组时,数据长度不为分组长度的整数倍.
|
||||
#define ICBC_MAC_CHECK_LEN_ERR 0x1109//SM4_MAV,DES_MAV 国密算法指明MAC校验长度错误,具体字典为4,6,8,0,国际算法指明MAC校验长度错误,具体字典为4,6,8
|
||||
#define ICBC_ENC_MODE_ERR 0x1201//DES_ENC,DES_DEC,SM4_CTT,加密模式错
|
||||
#define ICBC_ENC_DATA_ERR 0x1202//DES_ENC,DES_DEC,加密数据错误
|
||||
#define ICBC_FILL_MODE_ERR 0x1203//DES_ENC,DES_DEC,SM4_CTT补位模式错
|
||||
#define ICBC_GROUP_MODE_ERR 0x1204//DES_ENC,分组模式错 或者加密数据分组标识错误,字典只有0,1,2
|
||||
|
||||
#define ICBC_DKG_USE_ERR 0x1301//KGK 密钥密文中密钥用途第5位到第8位是0080 ,表示KGK
|
||||
#define ICBC_TEMP_KEY_USE_FIRST_BIT_ERR 0x1302//DES_KPI中间密钥密钥用途第一位为非9
|
||||
#define ICBC_DISPERSED_DATA_ERR 0x1303//DES_DKG分散数据异常,长度异常或含有非法字符.
|
||||
#define ICBC_KEY_USE_BIT_ERR 0x1304//DES_KEXKEK 密钥用途第5-8位为非’0000’时,需被导出的密钥的密钥类型与KEK 密钥用途第5-8位不一致
|
||||
#define ICBC_COMP_ERR 0x1305//DES_KPI ,SM4_KPI分量表示错误,字典只有0,1,2
|
||||
#define ICBC_COMP_0_TEMP_KEY_ERR 0x1306//DES_KPI ,SM4_KPI分量为0时 ,中间密钥不为全0.
|
||||
#define ICBC_KEY_TYPE_VALID 0x1307//ZTL key type failed
|
||||
#define ICBC_KEY_LEN_VALID 0x1308// key len failed
|
||||
#define ICBC_KEY_TYPE_ERR 0x1401//SM4_KXG 密钥类型错误,字典只有0050,0070
|
||||
|
||||
#define ICBC_MAC_NO_MAC 0x0004 //标识MAC 未校验
|
||||
#define ICBC_MAC_MAG_ERR 0x0006 //MAC生成错误
|
||||
|
||||
|
||||
#define ICBC_DESHASH_ALGORITHM_ERR 0x1220 //散列算法错误
|
||||
#define ICBC_DESGROUP_DESCRIBE_ERR 0x1221 //分组描述错误只有0,1,2
|
||||
#define ICBC_INDEX_ERR 0x1108//密钥索引值超出范围
|
||||
#define ICBC_GENERATE_RANDOM_ERR 0x1222//生成随机数错误
|
||||
#define ICBC_GENERTE_RANDOM_KEY_ERR 0x1223//产生随机密钥错误
|
||||
|
||||
#define ICBC_TRANS_TO_ICBC_ERR 0x1801//把本地密钥转换为ICBC错误
|
||||
#define ICBC_TRANS_TO_DEFAULT_ERR 0x1802//把工行密钥转换为本地错误
|
||||
#define ICBC_LMK_TO_KEK_ERR 0x1803//lmk转换为kek错误
|
||||
#define ICBC_LMK_TO_LMK_ERR 0x1804//lmk转换为lmk错误
|
||||
#define ICBC_KEK_TO_LMK_ERR 0x1805//kek转换为lmk错误
|
||||
#define ICBC_ENC_ERR 0x1806//加密错误
|
||||
#define ICBC_DEN_ERR 0x1807//解密错误
|
||||
#define ICBC_CPT_KEY_ERR 0x1808//分量合成错误
|
||||
#define ICBC_GENERATE_KCI_ERROR 0x1809//生成KCI错误
|
||||
#define ICBC_SEARCH_KEY_ERR 0x1810//查找工行主密钥失败
|
||||
#define ICBC_SET_KEY_ERR 0x1811//设置工行主密钥错误
|
||||
#define ICBC_COM_DISPERSE_ERR 0x1812//分散ID卡子密钥错误
|
||||
#define ICBC_HASH_ERR 0x1813//计算hash错误(主要用于SHA_OWH)
|
||||
|
||||
#define ICBC_SHA_CHAIN_VERCTORY_ERR 0x1901//SHA 的CHAIN VERCTORY值错误
|
||||
#define ICBC_CARD_ID_ERR 0x1902//卡号+卡序列号数据长度错误或者含有非法字符
|
||||
#define ICBC_CARD_ATC_ERR 0x1903//ATC含有非法字符
|
||||
#define ICBC_CARD_ARQC_ERR 0x1904//ARQC含有非法字符
|
||||
#define ICBC_CARD_ARC_ERR 0x1905//ARC含有非法字符
|
||||
|
||||
//非对称算法错误标识
|
||||
//#define ICBC_SM2_MODE_ERR 0x1600//sm2 mode模式错误,数据字典只有0,1,2
|
||||
//#define ICBC_SM2_HASH_FLAG_ERR 0x1601//sm2 HASH标识错误,数据字典只有0,1
|
||||
//*******************************************************/
|
||||
/****************************************************************
|
||||
#define ICBC_KEY_CHECK_ERR 0x9004 //通用指令 密钥校验
|
||||
#define ICBC_DATA_ERR 0x9005 //通用指令 数据包异常
|
||||
|
||||
#define ICBC_PTR_PAN_ERR 0x1006 //D2S_PTR和S2D_PTR PAN格式错误
|
||||
#define ICBC_PTR_ACCOUNT_ERR 0x1007 //D2S_PTR和S2D_PTR 转换前PINBLOCK账号校验错误
|
||||
#define ICBC_PTR_PINBLOCK_ERR 0x1008 //D2S_PTR和S2D_PTR PINBLOCK转换错误
|
||||
|
||||
#define ICBC_SM4MAC_DATALENOVER_ERR 0x1103 //SM4_MAG和SM4_MAV 数据长度值超过报文8K
|
||||
#define ICBC_SM4MAC_DATALEN_ERR 0x1104 //SM4_MAG和SM4_MAV 数据包长度异常
|
||||
#define ICBC_SM4MAC_MAV_ERR 0x1105 //SM4_MAV MAC校验失败
|
||||
|
||||
#define ICBC_SM4MAC_MAG_ERR 0x1106 //SM4_MAV MAC生成错误
|
||||
#define ICBC_SM4MAC_NO_MAC 0x0004 //标识MAC 未校验
|
||||
|
||||
#define ICBC_DES_DATALEN_ERR 0x1201 //DES和3DES数据包长度异常
|
||||
#define ICBC_DESMAC_FILL_ERR 0x1202 //DES_MAG和DES_MAV MAC数据补位方式错误,字典只有0,1
|
||||
#define ICBC_DESMAC_DATAFLAG_ERR 0x1203 //DES_MAG和DES_MAV MAC数据块标识错误,字典只有0,1,2,3
|
||||
#define ICBC_DESMAC_DATALENOVER_ERR 0x1204 //DES_MAG和DES_MAV 数据长度值超过报文8K
|
||||
#define ICBC_PASSWD_LEN_ERR 0x1205 //随机密码长度错误
|
||||
#define ICBC_PASSWD_PIN_LEN_ERR 0x1206 //输入密码PIN长度不是4-12
|
||||
#define ICBC_PASSWD_PIN_END_ERR 0x1207 //输入密码PIN结束符不是;
|
||||
#define ICBC_DESMAC_MAG_ERR 0x1208 //DES_MAV MAC生成错误
|
||||
#define ICBC_DESMAC_MAV_ERR 0x1209 //DES_MAV MAC校验失败
|
||||
#define ICBC_DESMAC_NO_MAC 0x0004 //标识MAC 未校验
|
||||
#define ICBC_ENC_TO_PINBLOCK_ERR 0x1210 //密码使用PIK密钥加密为PINBLOCK失败
|
||||
#define ICBC_DEC_PINBLOCK_TO_PLAINTEXT_ERR 0x121A //PINBLOCK密文解密为明文失败
|
||||
#define ICBC_DESENC_MODE_ERR 0x121B//加密模式错误
|
||||
#define ICBC_DESFILL_MODE_ERR 0x121C//补位模式错误
|
||||
#define ICBC_DESGROUP_DESCRIBE_ERR 0x121D//分组描述错误
|
||||
#define ICBC_DESCOMP_LEN_ERR 0x121E//分量长度错误
|
||||
#define ICBC_DESCOMP_FLAG_ERR 0x121F//DES分量标识错误
|
||||
#define ICBC_DESHASH_ALGORITHM_ERR 0x1220 //散列算法错误
|
||||
#define ICBC_DESLENGTH_ERR 0x1221//指定的随机密码长度不正确
|
||||
|
||||
#define ICBC_SM4_DATALEN_ERR 0x1107//SM4数据包长度异常
|
||||
#define ICBC_SM4KEY_INDEX_ERR 0x1108//密钥索引值超出范围
|
||||
#define ICBC_SM4LEN_ERR 0x1109//SM4分量长度超出范围
|
||||
#define ICBC_SM4COMP_FLAG_ERR 0x110A//SM4分量标识错误
|
||||
**********************************************************************************/
|
||||
|
||||
//*************PCI ERROR CODE****************/
|
||||
//如果加密卡支持奇偶校验不过,仍然返回结果
|
||||
//那么定义该宏为0x3121,例如工银国际版本
|
||||
#define ERR_PCI_ODD_CHECK_ERR 0x3121
|
||||
//如果加密卡奇偶校验不过直接报错
|
||||
//那么定义该宏为-1
|
||||
//#define ERR_PCI_ODD_CHECK_ERR -1
|
||||
//*********** Racal Error Code **************/
|
||||
|
||||
#define NO_ERRORS 0x00
|
||||
#define ERR_VERIFICATION_FAILURE 0x01
|
||||
#define ERR_VERIFICATION_PIN 0x02
|
||||
#define ERR_KEYDATA_LENGTH 0x02
|
||||
#define ERR_INVALID_MESSAGE_TYPE_CODE 0x03
|
||||
#define ERR_INVALID_KEY_TYPE_CODE 0x04
|
||||
#define ERR_INVALID_KEY_LENGTH_FLAG 0x05 // 根据标准而来,不可改dwb
|
||||
#define ERR_INVALID_MESSAGE_BLOCK_NUMBER 0x05 // 根据标准而来,不可改 fuck zcb
|
||||
#define ERR_INVALID_KEY_LENGTH_CODE 0x06
|
||||
#define ERR_SOURCE_KEY_PARITY 0x10
|
||||
#define ERR_DEST_KEY_PARITY 0x11
|
||||
#define ERR_USER_STORAGE 0x12
|
||||
#define ERR_MASTER_KEY_PARITY 0x13
|
||||
#define ERR_LMK_PIN_BLOCK_INVALID 0x14
|
||||
#define ERR_INPUT_DATA_INVALID 0x15
|
||||
#define ERR_PRINTER_NOT_READY 0x16
|
||||
#define ERR_HSM_NOT_AUTHORISED 0x17
|
||||
#define ERR_FORMAT_NOT_DEFINITION 0x18
|
||||
#define ERR_DIEBOLD_TABLE_INVALID 0x19
|
||||
#define ERR_PIN_BLOCK 0x20
|
||||
#define ERR_USER_STORAGE_INDEX 0x21
|
||||
#define ERR_ACCOUNT_NUMBER_INVALID 0x22
|
||||
#define ERR_PIN_FORMAT_INVALID 0x23
|
||||
#define ERR_INVALID_PIN_LENGTH 0x24
|
||||
#define ERR_DEC_TABLE 0x25
|
||||
#define ERR_INVALID_KEY_SCHEMA 0x26
|
||||
#define ERR_INVALID_KEY_LENGTH 0x27
|
||||
#define ERR_INVALID_KEY_TYPE 0x28
|
||||
|
||||
#define ERR_INVALID_REFERENCE_NUMBER 0x30
|
||||
#define ERR_SAME_PIN 0X75
|
||||
#define ERR_INVALID_PRIVATAKEYLENGTH 0x78
|
||||
#define ERR_DSP_ERR 0x47
|
||||
|
||||
#define ERR_DATA_LENGTH 0x80
|
||||
#define ERR_TRADECMD_NOT_EXIST 0x81 //交易命令不存在
|
||||
#define ERR_INVALID_DATALENGTH 0x92
|
||||
#define ERR_DATA_THAN_MODULUS_BIG 0x98 //数据比模大
|
||||
|
||||
|
||||
//***2015-11-11 11:11工银国际M6返回码*******************
|
||||
#define ERR_INVALID_MODE_FLAG 0x02
|
||||
#define ERR_INVALID_INPUT_FORMAT 0x03
|
||||
#define ERR_INVALID_MAC_ALGORITHM 0x04
|
||||
#define ERR_INVALID_KEY_TYPE_M6 0x05
|
||||
#define ERR_INVALID_KEY_LENGTH_M6 0x06
|
||||
#define ERR_INVALID_PADDING_METHOD 0x09
|
||||
|
||||
//******************************************************
|
||||
|
||||
//0x80~0xc0
|
||||
//83,84,85,89,90,92,93,99,a1,a7,ab,ac,ad,ae...
|
||||
#define ERR_USB_NOT_EXIST1 0x83 //U盾不存在
|
||||
#define ERR_UKEY_LOGIN 0x84 //U盾登录失败
|
||||
#define ERR_UKEY_MAKE 0x85 //U盾制作失败
|
||||
#define ERR_UKEY_CZSB 0x89 //操作失败
|
||||
#define ERR_JSSB 0x90 //解锁失败
|
||||
#define ERR_KLCW 0x92 //口令错误
|
||||
#define ERR_YKLCW 0x93 //原口令错误
|
||||
#define ERR_GHKLSB 0xA1 //口令更改失败
|
||||
#define ERR_UKEY_FILENULL 0xA7 //密钥备份文件不存在
|
||||
#define ERR_UKEY_DEEXIST 0x8A//0xAB //数字信封已存在
|
||||
#define ERR_RKEY_UNABLED 0xAC //非本机发行盾
|
||||
#define ERR_BKEY_UNABLED 0xAD //非本机备份盾
|
||||
#define ERR_BKEY_NULL 0xAE //该盾未备份密钥
|
||||
|
||||
#define ERR_UKEY_ILLEGAL 0xAF //非法U盾
|
||||
#define ERR_UKEY_NONEMPTY 0x8B//0x86 //非空盾
|
||||
|
||||
|
||||
/*********** 20141104 nifei add start(工银亚洲) **************/
|
||||
#define ERR_MEM_ALLOC_FAIL 0x41 //内存申请失败
|
||||
#define ERR_ZPK_PARITY 0x10 //ZPK错误
|
||||
#define ERR_ENC_PIN 0x14 //error in encrypted pin
|
||||
#define ERR_INVALID_SES_KEY 0x08 //invalid message session key or iv
|
||||
#define ERR_INVALID_NEW_SES_KEY 0x09 //invalid New message session key or iv
|
||||
#define ERR_KEY_LEN 0x27 //密钥长度错误
|
||||
#define ERR_NUMERIC_FLAG 0x06 //invalid Numeric Flag
|
||||
#define ERR_UPPERCASE_FLAG 0x07 //invalid Uppercase Flag
|
||||
#define ERR_INVALID_AN_PIN_LEN 0x04 //invalid AN-PIN Length
|
||||
#define ERR_INVALID_AN_PIN_VER_FLAG 0x76 //invalid AN-PIN Verification Flag
|
||||
#define ERR_INVALID_PRI_KEY_INDEX 0x03 //invalid Private Key index
|
||||
#define ERR_INVALID_MES_SES_KEY_LEN 0x71 //incorrect Message Session Key Length
|
||||
#define ERR_SECRET_KEY_LEN 0x78 //secret key length error
|
||||
#define ERR_INVALID_PUBKEY_ENC_TYPE 0x03 //Invalid public key encoding type
|
||||
#define ERR_PUB_EXP_LEN 0x06 //Public exponent length error
|
||||
#define ERR_SUP_PUB_EXP_IS_EVEN 0x08 //Supplied public exponent is even
|
||||
|
||||
/*********** 20141104 nifei add end(工银亚洲) **************/
|
||||
|
||||
|
||||
/***********20141013 ywn add(工银国际E0指令错误码)***********/
|
||||
|
||||
#define ERR_DATA_FLAG_ERR 0x01//非法报文块标识域
|
||||
#define ERR_ALGORITHM_MODE_ERR 0x02//非法算法操作模式域
|
||||
#define ERR_INPUT_FLAG_ERR 0x03//非法输入数据格式域
|
||||
#define ERR_OUTPUT_FLAG_ERR 0x04//非法输入数据格式域
|
||||
#define ERR_KEY_TYPE_ERR 0x05//非法密钥类型域
|
||||
#define ERR_DATA_LEN_ERR 0x06//非法保温长度域
|
||||
#define ERR_ENC_FLAG_ERR 0x07//非法加解密标识域
|
||||
#define ERR_FILL_MODE_ERR 0x08//非法填充模式域
|
||||
#define ERR_FILL_CNT_FLAG_ERR 0x08//非法填充计数模式域
|
||||
#define ERR_FILL_CHAR_ERR 0x09//填充字符域错误
|
||||
|
||||
#define ERR_KEY_SCHEMA_ERR 0x26//密钥方案错误
|
||||
/***********20141013 ywn add(工银国际E0指令错误码)***********/
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,347 @@
|
||||
#ifndef _GLOBAL_H_
|
||||
#define _GLOBAL_H_
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
#define KEY_0 0x00
|
||||
#define KEY_1 0x01
|
||||
#define KEY_2 0x02
|
||||
#define KEY_3 0x03
|
||||
#define KEY_4 0x04
|
||||
#define KEY_5 0x05
|
||||
#define KEY_6 0x06
|
||||
#define KEY_7 0x07
|
||||
#define KEY_8 0x08
|
||||
#define KEY_9 0x09
|
||||
#define KEY_A 0x0A
|
||||
#define KEY_B 0x0B
|
||||
#define KEY_C 0x0C
|
||||
#define KEY_D 0x0D
|
||||
#define KEY_E 0x0E
|
||||
#define KEY_F 0x0F
|
||||
#define KEY_POWER 0x11
|
||||
#define KEY_FUNC 0x12
|
||||
#define KEY_DEL 0x13
|
||||
|
||||
#define KEY_UP 0x04
|
||||
#define KEY_DOWN 0x01
|
||||
#define KEY_ESC 0x02
|
||||
#define KEY_ENTER 0x03
|
||||
|
||||
#define KEY_FUNC_3S 0x18
|
||||
#define KEY_ERROR 0xFF //多重按键错误
|
||||
|
||||
#define ITEM_1 7 //菜单项的Menu-ITEM?可以定位到0xF5-0xFF
|
||||
#define ITEM_2 8
|
||||
#define ITEM_3 9
|
||||
#define ITEM_4 10
|
||||
#define ITEM_5 11
|
||||
#define ITEM_6 12
|
||||
#define ITEM_7 13 //菜单项的Menu-ITEM?可以定位到0xF5-0xFF
|
||||
#define ITEM_8 14
|
||||
#define ITEM_9 15
|
||||
#define ITEM_10 16
|
||||
#define ITEM_11 17
|
||||
#define ITEM_12 18
|
||||
#define ITEM_13 19
|
||||
#define ITEM_14 20
|
||||
#define ITEM_15 21
|
||||
#define ITEM_16 22
|
||||
|
||||
#define DEALOK 0
|
||||
|
||||
#define Admin 0
|
||||
#define Operator 1
|
||||
#define Menu_Init_Kao 0x01
|
||||
#define Menu_Kao_Frame1 0x02
|
||||
#define Menu_Kao_Frame2 0x03
|
||||
#define Menu_EXAR 0x04
|
||||
#define Menu_HYK16Test 0x05
|
||||
#define Menu_1308Test 0x06
|
||||
#define Menu_SYD1308_Test_1 0x07
|
||||
#define Menu_SYD1308_Test_2 0x08
|
||||
#define Menu_SYD1308_device_manage_1 0x09
|
||||
#define Menu_SYD1308_device_manage_2 0x0a
|
||||
#define Menu_SYD1308_lmk_manager_1 0x0b
|
||||
#define Menu_Kao_Frame3 0xf4
|
||||
#define Menu_Kao_Frame4 0xf5
|
||||
#define Menu_CardTest_1 0xf6
|
||||
#define Menu_CardTest_2 0xf7
|
||||
#define Menu_Flash 0xf8
|
||||
#define Menu_Sram 0xf9
|
||||
#define Menu_Kai_Test 0xfA
|
||||
#define Menu_Kao_Frame5 0xfB
|
||||
#define Menu_CardTest 0xFC
|
||||
#define Menu_CardTest_3 0xFD
|
||||
#define Menu_Main_LOG 0xFE
|
||||
#define Menu_Init_Test 0xFF
|
||||
|
||||
#define Menu_Login_Manage 0x04
|
||||
#define Menu_Login_Server 0x05
|
||||
#define Menu_Manage_AsymmetricalKey 0x06
|
||||
#define Menu_Manage_ClientIP 0x07
|
||||
|
||||
#define Menu_Manage_LMK 0x08
|
||||
#define Menu_Manage_Operator_1 0x09
|
||||
#define Menu_Manage_Operator_2 0x0A
|
||||
#define Menu_Manage_Operator_3 0xB2
|
||||
|
||||
#define Menu_Manage_System_1 0x0B
|
||||
#define Menu_Manage_System_2 0x0C
|
||||
#define Menu_Manage_Modify_Ethx 0x0D
|
||||
#define Menu_Manage_SerialPort 0x0E
|
||||
#define Menu_Manage_Organ 0x68
|
||||
#define Menu_Manage_KeyType 0x69
|
||||
#define Menu_Manage_KeyQuery 0x6A
|
||||
#define Menu_Manage_KeyGenerate 0x99
|
||||
#define Menu_Manage_KeyGenerate_1 0xA1
|
||||
#define Menu_Manage_KeyGenerate_2 0xA2
|
||||
#define Menu_Manage_KeyGenerate_3 0xA3
|
||||
#define Menu_Manage_KeyGenerate_4 0xA4
|
||||
#define Menu_Manage_KeyIssue1 0xA5
|
||||
#define Menu_Manage_KeyIssue2 0xA6
|
||||
#define Menu_Manage_KeyIssue3 0xA7
|
||||
#define Menu_Manage_KeyIssue4 0xA8
|
||||
#define Menu_Manage_KeyChange1 0xA9
|
||||
#define Menu_Manage_KeyChange2 0xAA
|
||||
#define Menu_Manage_KeyChange3 0xAB
|
||||
#define Menu_Manage_KeyInit 0xB3
|
||||
#define Menu_Manage_LMKIssue 0xC7
|
||||
#define Menu_Manage_LMKIssue1 0xC8
|
||||
#define Menu_Manage_LMKIssue2 0xC9
|
||||
#define Menu_Manage_LMKIssue3 0xCA
|
||||
#define Packet_Field_Set1 0xCB
|
||||
#define Menu_Manage_System_3 0xCC
|
||||
#define Menu_Manage_ClientIP_Menu 0xCD
|
||||
|
||||
#define UKey_Make_1 0xB4
|
||||
#define UKey_Make_2 0xB5
|
||||
#define UKey_Make_LMK_From_IC_1 0xBC
|
||||
#define UKey_Make_LMK_From_IC_2 0xBD
|
||||
#define UKey_Or_IC_ChangePwd_1 0xB6
|
||||
#define UKey_Or_IC_ChangePwd_2 0xB7
|
||||
#define UKey_Or_IC_ChangePwd_2l 0xBC
|
||||
#define UKey_Or_IC_Deblock_1 0xB8
|
||||
#define UKey_Or_IC_Deblock_2 0xB9
|
||||
#define UKey_Manage_Operate_1 0xBA
|
||||
#define UKey_Manage_Operate_2 0xBB
|
||||
|
||||
#define Menu_Manage_KeyBackups 0x7A
|
||||
#define Menu_Manage_KeyChange 0xA0
|
||||
#define Menu_Manage_KeyStop 0x7B
|
||||
#define Menu_Manage_KeyDel 0x7C
|
||||
#define Menu_Manage_Key_1 0x7D
|
||||
#define Menu_Manage_Key_2 0x7E
|
||||
#define Menu_Manage_Key_3 0x98
|
||||
#define Menu_Manage_Key_4 0xAD
|
||||
#define UD_Make_Manage 0xAC
|
||||
#define UD_Make_Operator 0xAE
|
||||
#define UD_Make_Windicate 0xAF
|
||||
|
||||
#define Dev_Key_Back_1 0x0F
|
||||
#define Dev_Key_Back_2 0x10
|
||||
#define Dev_Key_Back_3 0x11
|
||||
#define Dev_Key_Back_4 0x12
|
||||
#define Dev_Key_Recover_1 0x13
|
||||
#define Dev_Key_Recover_2 0x14
|
||||
#define Dev_Key_Recover_3 0x15
|
||||
#define Dev_Key_Generate_1 0x16
|
||||
#define Dev_Key_Generate_2 0x17
|
||||
#define Dev_PublicKey_Inport 0x18
|
||||
#define Dev_PublicKey_Outport_1 0x19
|
||||
#define Dev_PublicKey_Outport_2 0x1A
|
||||
#define Dev_UsbKey_Register 0x1B
|
||||
|
||||
#define IC_Init_1 0x1C
|
||||
#define IC_Init_2 0x1D
|
||||
#define IC_Card_Copy_1 0x1E
|
||||
#define IC_Card_Copy_2 0x1F
|
||||
#define IC_Card_Copy_3 0x20
|
||||
#define IC_Card_Copy_4 0x21
|
||||
#define IC_Card_Copy_5 0x22
|
||||
#define IC_Card_Copy_6 0x23
|
||||
//#define IC_Change_Oper_Passwd_1 0x24
|
||||
//#define IC_Change_Oper_Passwd_2 0x25
|
||||
#define IC_Init_Passwd 0x26
|
||||
#define IC_Make_Net 0x27
|
||||
#define IC_Make_Operator 0x28
|
||||
#define IC_Make_Operator_1 0x61
|
||||
#define IC_Make_Windicate 0x29
|
||||
#define IC_HSM_Register_1 0x2A
|
||||
#define IC_HSM_Register_2 0x2B
|
||||
#define IC_HSM_Cancel_1 0x66
|
||||
#define IC_HSM_Cancel_2 0x67
|
||||
|
||||
#define Init 0x2C
|
||||
#define Init_1 0x2D
|
||||
#define Init_2 0x2E
|
||||
#define Init_3 0x2F
|
||||
#define Init_4 0x30
|
||||
|
||||
#define LMK_Generate 0x31
|
||||
#define LMK_Move 0x32
|
||||
#define LMK_Move_1 0x62
|
||||
#define LMK_Recover_1 0x33
|
||||
#define LMK_Recover_2 0x34
|
||||
#define LMK_Recover_3 0x35
|
||||
#define LMK_Bak_1 0x36
|
||||
#define LMK_Bak_2 0x37
|
||||
#define LMK_Bak_3 0x38
|
||||
#define LMK_Bak_4 0x39
|
||||
#define LMK_Bak_5 0x60
|
||||
|
||||
#define Login_Admin_1 0x3A
|
||||
#define Login_Admin_2 0x3B
|
||||
#define Login_Operator_1 0x3C
|
||||
#define Login_Operator_2 0x3D
|
||||
#define Login_Windicate_1 0x3E
|
||||
#define Login_Windicate_2 0x3F
|
||||
#define Login_Net_1 0x63
|
||||
#define Login_Net_2 0x64
|
||||
#define FLogout 0x40
|
||||
|
||||
#define System_start 0x41
|
||||
#define System_Modify_Ethx_1 0x42
|
||||
#define System_Modify_Ethx_2 0x43
|
||||
#define System_Modify_Ethx_3 0xC0
|
||||
#define System_Modify_Ethx_4 0xC1
|
||||
#define System_Modify_Ethx_5 0xC2
|
||||
#define System_Modify_Ethx_6 0xC3
|
||||
#define System_Modify_Ethx_7 0xC4
|
||||
#define System_Modify_Ethx_8 0xC5
|
||||
#define System_Modify_Ethx_9 0xC6
|
||||
|
||||
#define System_Port 0x44
|
||||
#define System_Version_Query 0x46
|
||||
#define System_LMK_KCV_Query 0x9A //查询lmk kcv
|
||||
#define System_Time_Settings 0x47
|
||||
#define System_Change_Passwd 0x48
|
||||
|
||||
#if 1
|
||||
#define System_Restore_Factory_1 0x49
|
||||
#define System_Restore_Factory_2 0x4A
|
||||
#define System_Restore_Factory_3 0x4B
|
||||
#define System_Restore_Factory_4 0x4C
|
||||
#endif
|
||||
|
||||
#define System_SerialPort_Settings 0x4D
|
||||
|
||||
#define System_SerialPort_Settings_S 0x74
|
||||
|
||||
#define System_Upgrade_1 0x4E
|
||||
#define System_Upgrade_2 0x4F
|
||||
#define System_Upgrade_3 0x50
|
||||
#define System_Upgrade_4 0x51
|
||||
#define System_Power_Off_1 0x52
|
||||
#define System_Power_Off_2 0x53
|
||||
#define System_Succeed_Message 0x54
|
||||
#define System_Fail_Message 0x55
|
||||
#define System_ClientIP_Add 0x56
|
||||
#define System_ClientIP_Del_1 0x57
|
||||
#define System_ClientIP_Del_2 0x58
|
||||
#define System_ClientIP_Que 0x59
|
||||
#define SerialPort_Service 0x5A
|
||||
#define Machine_No_Query 0x5B
|
||||
#define Network_Service_1 0x5C
|
||||
#define Network_Service_2 0x5D
|
||||
#define Network_Service_3 0xBF
|
||||
#define Network_Service_4 0xBE
|
||||
|
||||
#define LMK_Sys_Login 0x5E
|
||||
#define System_Log 0x5F
|
||||
#define Work_To_Tmp 0x65
|
||||
#define KEK_RECOVER 0x66
|
||||
#define Key_Organ_Add 0x6B
|
||||
#define Key_Organ_Del 0x6C
|
||||
#define Key_Organ_Que 0x6D
|
||||
#define Key_Type_Add 0x6E
|
||||
#define Key_Type_Del 0x6F
|
||||
#define Key_Type_Que_1 0x70
|
||||
#define Key_Type_Que_2 0x7F
|
||||
#define Key_Query_ByOne_1 0x71
|
||||
#define Key_Query_ByOne_2 0x81
|
||||
#define Key_Query_ByMore_1 0x72
|
||||
#define Key_Query_ByMore_2 0x80
|
||||
#define Key_Issue_1 0x73
|
||||
//#define Key_Backups 0x74
|
||||
//#define Key_Recover 0x75
|
||||
#define Key_Stop_ByOne 0x76
|
||||
#define Key_Stop_ByMore 0x77
|
||||
#define Key_Del_ByOne 0x78
|
||||
#define Key_Del_ByMore 0x79
|
||||
#define CardKey_Move_1 0X82 // 83
|
||||
#define CardKey_Move_2 0x83
|
||||
#define CardKey_Move_3 0x84
|
||||
#define CardKey_Move_4 0x85
|
||||
#define Key_Start_ByOne 0x86
|
||||
#define Key_Start_ByMore 0x87
|
||||
#define Key_Issue_2 0x91
|
||||
#define Key_Issue_3 0x92
|
||||
#define Key_Issue_4 0x93
|
||||
#define Key_Issue_5 0x94
|
||||
#define Packet_Field_Set 0x95
|
||||
#define Part_Combine_Key 0x96
|
||||
#define Part_Combine_PIN 0x97
|
||||
|
||||
extern int card_flag;
|
||||
|
||||
extern unsigned char Frame; //画面号
|
||||
extern unsigned int MenuItem; //光标所在菜单项
|
||||
extern unsigned int FreshItem; //记录上一个item
|
||||
extern unsigned char TO_ADMIN_OR_MOR_FLAG; //初始化后,进入管理程序或编核押程序标志 1 管理程序 0 编核押
|
||||
extern unsigned char ADMIN_LOCATE_FLAG; //安控员登录定位标志 0:安控员一登录界面 1:安控员二登录界面 2:管理菜单管理员登录界面
|
||||
|
||||
extern unsigned char UKEY_MAKE_FLAG;
|
||||
extern unsigned char MANAGE_UMAKE_FLAG;
|
||||
extern unsigned char SUPPER_UMAKE_FLAG;
|
||||
extern unsigned char UKEY_OPERATE_FLAG;
|
||||
extern unsigned char DEBLOCK_FLAG;
|
||||
extern unsigned char PWD_CHANGE_FLAG;
|
||||
|
||||
extern unsigned char NETLOGIN_FLAG; //网络服务登录1:普通交易登录2:授权状态登录
|
||||
extern unsigned char LMK_RECOVER_FLAG; //恢复主密钥定位标记1:恢复分量一2:恢复分量二3:恢复分量二
|
||||
extern unsigned char LMK_BAK_FLAG; //备份主密钥定位标记1:备份分量一2:备份分量二3:备份分量三
|
||||
extern unsigned char LMK_GENERATE_FLAG; //产生主密钥方式1:新生成2:分量恢复
|
||||
extern unsigned char LMK_FLAG; //判断LMK 是否正常0:正常1:不正常
|
||||
extern unsigned char MAKE_OPR_FLAG; //制作密钥管理员1:密钥管理员一2:密钥管理员二
|
||||
extern unsigned char AUTHORIZATION_LOGIN; //网络交易授权状态1:授权登录0:配置管理员登录
|
||||
extern unsigned char NetService_Change; //交易状态切换0,非切换状态1,普通到授权,2,授权到普通
|
||||
extern unsigned char cmp_combine;
|
||||
|
||||
extern unsigned char MenuItem_num; //返回到上一帧菜单项被选中号,优先级高
|
||||
extern unsigned char EXIT_Frame; //返回到上一帧界面号 比Function优先级高
|
||||
extern unsigned char EXIT_Frame_Flag[8]; //存放一个功能菜单的EXIT_Frame
|
||||
extern unsigned char MenuItem_num_Flag[8]; //存放一个功能菜单的MenuItem_num 返回到上一帧菜单项被选中号
|
||||
extern unsigned char NETWARE_NUM; //网卡号
|
||||
extern unsigned char XTZMY_Function_Num; //区分是第一次开机生成系统主密钥 0 /管理菜单选择生成系统主密钥 1
|
||||
extern unsigned char Store_Card_Num; //备份下级行密钥的IC卡编号 默认为1
|
||||
extern unsigned char TIMEOUT; //串口数据传输超时标志位 TIMEOUT=1表示超时
|
||||
extern unsigned int TIMENUM_NUM; //超时时间倍数计数
|
||||
extern unsigned int Timenum; //超时时间倍数计数
|
||||
extern unsigned char INPUT_OR_OUTPUT_KEY_BIT; //导入或导出的密钥位数 2:两位 3:三位
|
||||
extern int ExData; //全局变量,单字节共享时用
|
||||
extern int totalnum;
|
||||
extern unsigned int QueryCnt, QueryPtr, DispAddr;
|
||||
extern unsigned char LED_STATUS;
|
||||
extern unsigned char LED_ERROR;
|
||||
extern unsigned char LEDSTATE;
|
||||
// extern unsigned char *Buffer[22]; //用户行显示内容的指针全局变量
|
||||
extern unsigned char *Buffer[44]; //用户行显示内容的指针全局变量
|
||||
extern unsigned char DataTmp[256]; //全局变量,多字节共享
|
||||
extern unsigned char Buf[256];
|
||||
extern unsigned char inbuf[20];
|
||||
extern unsigned char Int_flag;
|
||||
extern unsigned char NUM_SERIER_REV;
|
||||
extern int tlock;
|
||||
extern unsigned char func_3s_flag;
|
||||
extern unsigned char keybuff[20];
|
||||
extern int bufindex;
|
||||
extern int AllKeyLen;
|
||||
extern unsigned char *g_key_buff;
|
||||
extern unsigned char power;
|
||||
extern int SerialPort_PID; //密钥管理串口进程ID
|
||||
extern int PCfd;
|
||||
extern unsigned char IC_Copy_tmp[12 * 1024];
|
||||
extern char IC_Copy_role[17];
|
||||
extern char IC_Copy_roleLen;
|
||||
#endif /* GLOBAL_H_ */
|
||||
+2284
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,58 @@
|
||||
#ifndef _LCD_DISPLAY_H_
|
||||
#define _LCD_DISPLAY_H_
|
||||
|
||||
|
||||
void buffer_init();
|
||||
void buffer_flush(unsigned char LineBit);
|
||||
//void write_databyte(unsigned char databyte);
|
||||
void write_databyte(unsigned int databyte);
|
||||
|
||||
void LcdSetPage(unsigned char Page);
|
||||
void LcdSetCol(unsigned char Col);
|
||||
void LcdClear();
|
||||
|
||||
void initLcdSystem(void);
|
||||
void PrintASC8(unsigned char Page,unsigned char Col,unsigned char *Asc8,unsigned char Flag);
|
||||
void PrintASC16(unsigned char Page,unsigned char Col,unsigned char *Asc16,unsigned char Flag);
|
||||
void PrintHANZI(unsigned char Page,unsigned char Col,unsigned char *HanZi,unsigned char Flag);
|
||||
void PrintString8(unsigned char Page,unsigned char Col,unsigned char * *ValBuf,unsigned char Num,unsigned char Flag);
|
||||
void PrintString16(unsigned char Page,unsigned char Col,unsigned char * *ValBuf,unsigned char Num,unsigned char Flag);
|
||||
void PrintFormatStr(unsigned char Page,unsigned char Col,unsigned char * *CodeStr,unsigned char Num,unsigned char Flag);
|
||||
|
||||
void SetItemCursor(unsigned int * CurItem,unsigned int AllItem,unsigned char Key);
|
||||
void SetItemCursor_DownAndUp(unsigned int * CurItem,unsigned int AllItem,unsigned char Key);
|
||||
void PrintEmptyLine(unsigned char Line,unsigned char Type);
|
||||
void DispPrefix(unsigned char ItemCnt,unsigned int first_Item,unsigned char start_page,unsigned char place_len,unsigned char start_col);
|
||||
void DispPrefix_NoDot(unsigned char ItemCnt,unsigned int first_Item,unsigned char start_page,unsigned char place_len,unsigned char start_col);
|
||||
void DispPrefix_oneormore_col(unsigned int ItemCnt,unsigned int first_Item,unsigned char start_page,unsigned char start_col);
|
||||
void ExitToMenu();
|
||||
void DispDigits(unsigned char Page,unsigned char Col,unsigned char * Value,unsigned char Len,unsigned char Flag);
|
||||
void DispVersion(unsigned char Page,unsigned char Col,unsigned char * Value,unsigned char Len,unsigned char Flag);
|
||||
void DISP_TURN_ON_FLAG(unsigned char page,unsigned char col,unsigned char * FLAG,unsigned char REVERSE_Flag);
|
||||
void ASCToBIN(unsigned char *ASCBuf,unsigned char ASCLen,unsigned char *BINBuf);
|
||||
void BINToASC(unsigned char *BINBuf,unsigned char BINLen,unsigned char *ASCBuf);
|
||||
void BCDToBIN(unsigned char *BCDBuf,unsigned char BCDLen,unsigned char *BINBuf);
|
||||
void BINToBCD(unsigned char *BINBuf,unsigned char BINLen,unsigned char *BCDBuf);
|
||||
void RefreshArrowPos(unsigned char CurSel,unsigned char AllSel,unsigned char first_page,unsigned char second_page);
|
||||
void AddIntoBuf(unsigned char *ValBuf,unsigned char BufLen,unsigned char *CurLen,unsigned char Key);
|
||||
void DelFromBuf(unsigned char *ValBuf,unsigned char BufLen,unsigned char *CurLen);
|
||||
void Disp_error_no(void);
|
||||
void Disp_digit_number(unsigned char * addr,unsigned char disp_len,unsigned char page,unsigned char col);
|
||||
unsigned char Check_IP_Result(unsigned char * IP_value,unsigned char FLAG);
|
||||
void Disp_IP_ADDR(unsigned char page,unsigned char col,unsigned char * IP_addr,unsigned char FLAG,unsigned char REVERSE_Flag);
|
||||
void DISP_SYNC_FLAG(unsigned char page,unsigned char col,unsigned char * FLAG,unsigned char REVERSE_Flag);
|
||||
void Display_Date(unsigned char page,unsigned char col,unsigned char * Date,unsigned char FLAG,unsigned char REVERSE_Flag);
|
||||
void Display_Time(unsigned char page,unsigned char col,unsigned char * Time,unsigned char FLAG,unsigned char REVERSE_Flag);
|
||||
void DispDigits_Reverse(unsigned char Page,unsigned char Col,unsigned char * Value,unsigned char Len,unsigned char Flag,unsigned char REVERSE_FLAG);
|
||||
void Disp_LogSize(unsigned char Page,unsigned char Col,unsigned char * Value);
|
||||
void Disp_num_failure(unsigned char Page,unsigned char Col,unsigned char * Value);
|
||||
unsigned char Right_Or_Error_Time(unsigned char * time_value);
|
||||
unsigned char Right_Or_Error_LongTime(unsigned char * time_value);
|
||||
unsigned char Right_Or_Error_HourAndMinute(unsigned char * time_value);
|
||||
void function_key_3s(unsigned char Key,unsigned char * key_flag_addr);
|
||||
void function_key_first(unsigned char * key_flag_addr);
|
||||
void Rev_Error_dealwith(int len);
|
||||
void DispDigits2(unsigned char Page,unsigned char Col, unsigned char *Value,unsigned char Len);
|
||||
|
||||
|
||||
#endif /* LCD_DIS_H_ */
|
||||
@@ -0,0 +1,24 @@
|
||||
#ifndef __PANEL_DEAL_H__
|
||||
#define __PANEL_DEAL_H__
|
||||
|
||||
|
||||
|
||||
void chip_main();
|
||||
void chip_main_reset();
|
||||
unsigned int get_lrc(unsigned char * send_data,int len);
|
||||
void rsp_ok_common(unsigned char rsp_ok_data);
|
||||
void rsp_ok_data(unsigned char * rev_data,int len);
|
||||
void rsp_ok(void);
|
||||
void rsp_err(unsigned char type,unsigned char error);
|
||||
void rsp_err_data(unsigned char type,unsigned char * buff,int len);
|
||||
int chip_request(unsigned char tag,unsigned char * send_data,int len,unsigned char * ack);
|
||||
void serialSendRsp();
|
||||
void rsp_ok_common(unsigned char response_data);
|
||||
void Frame_Menu_Manage_LMKIssue();
|
||||
void Frame_Menu_Manage_LMKIssue1();
|
||||
void Frame_Menu_Manage_LMKIssue2();
|
||||
void Frame_Menu_Manage_LMKIssue3();
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
#ifndef __PUBLIC_H__
|
||||
#define __PUBLIC_H__
|
||||
|
||||
/*
|
||||
* ¹«¹²°üº¬µÄÍ·Îļþ
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <signal.h>
|
||||
#include <time.h>
|
||||
#include <ctype.h>
|
||||
#include <pwd.h>
|
||||
#include <crypt.h>
|
||||
#include <shadow.h>
|
||||
#include <math.h>
|
||||
#include <fcntl.h>
|
||||
#include <dlfcn.h>
|
||||
#include <stdarg.h>
|
||||
#include <dirent.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/vfs.h>
|
||||
#include <sys/epoll.h>
|
||||
#include <pthread.h>
|
||||
#include <sched.h>
|
||||
#include <stdbool.h>
|
||||
#include <assert.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/time.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <termios.h>
|
||||
#include <sys/wait.h>
|
||||
#include <netdb.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/shm.h>
|
||||
#include <sys/sem.h>
|
||||
#include <linux/lp.h>
|
||||
#include <scsi/sg.h>
|
||||
#include <linux/capability.h>
|
||||
|
||||
#include <openssl/rsa.h>
|
||||
#include<openssl/pem.h>
|
||||
#include<openssl/err.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/x509.h>
|
||||
#include <openssl/pkcs12.h>
|
||||
#include <openssl/bio.h>
|
||||
#include <openssl/engine.h>
|
||||
#include "define.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef MEMWATCH
|
||||
#include "memwatch.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,27 @@
|
||||
#ifndef _SERIAL_C_
|
||||
#define _SERIAL_C_
|
||||
|
||||
//´íÎó´úÂë
|
||||
|
||||
#define E_UART_SIZE 0x50 //Unsupported data size
|
||||
#define E_UART_parity 0x51 //Unsupported parity
|
||||
#define E_UART_stop 0x52 //Unsupported stop bits
|
||||
#define E_UART_Setup1 0x53 //SetupSerial 1
|
||||
#define E_UART_Setup3 0x54 //SetupSerial 3
|
||||
#define E_UART_OPEN 0x55 //Serial OPEN Error
|
||||
#define E_UART_SPEED 0x56 //Serial OPEN Error
|
||||
|
||||
extern int icdev;
|
||||
|
||||
int serial_open(int baud_rate);
|
||||
int serial_write(unsigned char * data,int len);
|
||||
int serial_read(unsigned char * data,int len);
|
||||
int serial_read_once(unsigned char * data,int len);
|
||||
int serial_flush(unsigned char LineBit);
|
||||
//int serial_write_buff(unsigned char page,unsigned char col,unsigned char dat);
|
||||
int serial_write_buff(unsigned int page,unsigned int col,unsigned int dat);
|
||||
int serial_buff_init();
|
||||
int get_hmi_version(unsigned char *data, int len);
|
||||
int serial_buff_black();
|
||||
int serial_buff_init();
|
||||
#endif
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef _SHAM_H_
|
||||
#define _SHAM_H_
|
||||
|
||||
int InitKeyCard(int semid);
|
||||
int initsem(int *semid, key_t semkey);
|
||||
int V(int Semid, int flag);
|
||||
int P(int Semid, int flag, int senconds);
|
||||
int CreateIpc();
|
||||
int DeleteIpc();
|
||||
int get_efd_lock(void);
|
||||
int put_efd_lock(void);
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef __USB_H__
|
||||
#define __USB_H__
|
||||
|
||||
|
||||
int usbWrite(int sg_fd, unsigned char * pData,unsigned int nLength,int nTimeOut);
|
||||
|
||||
int usbRead(int sg_fd, unsigned char * pData,unsigned int nLength,int nTimeOut);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef _USB_OPERATE_H_
|
||||
#define _USB_OPERATE_H_
|
||||
#include "define.h"
|
||||
|
||||
int OpenUDisk(int id, int * fd);
|
||||
int scsi_inquiry(int sg_fd, unsigned char * pData);
|
||||
int CD_SendPackage(int sg_fd, TPCCmd tPCCmd, unsigned char * pData);
|
||||
int CD_RecvPackage(int sg_fd, unsigned char * pData, unsigned int * lRecvLen);
|
||||
int CloseUsb(int fd);
|
||||
int USBRead(int sg_fd, unsigned char * pData,unsigned int nLength,int nTimeOut);
|
||||
int USBWrite(int sg_fd, unsigned char * pData,unsigned int nLength,int nTimeOut);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
#ifndef _UTILS_H
|
||||
#define _UTILS_H
|
||||
|
||||
#include "public.h"
|
||||
|
||||
int killprg(char *prgname,int sig);
|
||||
int CreateIdFile(char* pszProgName);
|
||||
void stopPrg(char* pszProgName);
|
||||
int TestPrgStat(char* pszProgName);
|
||||
int DaemonStart();
|
||||
int ScanDir(const char *pszDirName, struct dirent ***pstruDirentList);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user