⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 casocket.h

📁 用于处理证书请求,生成证书的CA服务器源码,
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -