casocket.h

来自「用于处理证书请求,生成证书的CA服务器源码,」· C头文件 代码 · 共 109 行

H
109
字号
#ifndef _CASOCKET_H
#define _CASOCKET_H

#include "stdio.h"
#include "string.h"
#include "winSocket.h"

#define PATCHLEN 2048

#define ISSUECERT 0x1000
#define ISSUECERTRT 0x1001
#define ISSUECERTRT_TMP 0x2000
#define VERISIGN  0x1010
#define VERISIGNRT  0x1011
#define VERISIGNRT_TMP 0x2010
#define DECRYPTPWD	0x1020
#define DECRYPTPWDRT 0x1021

#define PKHEAD "4GCA"

typedef struct { 
	char Head[4];
	char Type[8];
	char Len[8];
}CAPKHEAD;
#define CAPKHEAD_LEN sizeof(CAPKHEAD)

typedef struct {
	char sHead[4];
	int  nType;
	int  nLen; 
}CASTHEAD;
#define CASTHEAD_LEN sizeof(CASTHEAD)

typedef struct{
	char	name[24];
	char	email[128];
	char	company[64];
	char	department[64];
	char	city[4];
	char	prov[4];
	char	country[4];
	char	cellno[16];
	char	ukserial[24];
	char	account[24];
	char	pkcs10[4000];
}ISUCERT;
#define ISUCERT_LEN sizeof(ISUCERT)


typedef struct{
	char certserial[12];
	char pkcs7[4000];
}HAVEISUCERT;
#define HAVEISUCERT_LEN sizeof(HAVEISUCERT)


typedef struct{
	char	serial[12];
	char	signature[512];
	char	randomstr[64];
}VERIFYSIGN;
#define VERIFYSIGN_LEN sizeof(VERIFYSIGN)


class caSocket:public winSocket
{
	public:
	caSocket::caSocket();		// Constructor
	caSocket::~caSocket();	// Destructor

/***************************************************************
* 函数名:		ExpWrite
* 功能:		将长度为nLen的pData结构内的数据,转换成字符串后发送。
* 输入参数:	pData 发送数据缓冲区
*				nLen  发送数据长度
* 输出参数:	无
* 返回值:		正确返回发送的字节数,该字节数与输入的发送数据长度一般不同,其他返回负数。
* 程序员:		徐锋		编程日期:2004/09/10
* 修改人员:				修改日期:
* 修改原因:
*****************************************************************/
	int ExpWrite(void *pData, int nLen);


/***************************************************************
* 函数名:		ExpRead
* 功能:		接收数据并转换到长度为nLen的pData结构内据。
* 输入参数:	pData 接收数据缓冲区
*				nLen  接收数据缓冲区长度
* 输出参数:	无
* 返回值:		正确返回接收并转换后的字节数,该字节数与真正接受的数据长度一般不同,其他返回负数。
* 程序员:		徐锋		编程日期:2004/09/10
* 修改人员:				修改日期:
* 修改原因:
*****************************************************************/
	int ExpRead(void *pData, int nLen);



	private:
	int CaWrite(const void *pData, int nLen);
	int CaRead(void *pData, int nLen) ;
	int AssemblePK(void *pData,int nDataLen,int nBufLen);
	int ParsePK(void *pData,int nDataLen,int nBufLen);
};


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?