158 lines
5.3 KiB
C
158 lines
5.3 KiB
C
#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
|