Skip to content

Commit 412a00a

Browse files
committed
added:x verification file key mode for verification module
1 parent 96b3ead commit 412a00a

File tree

10 files changed

+1569
-4
lines changed

10 files changed

+1569
-4
lines changed

XEngine_Module/XEngine_Verification/Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ LOADHDR = -I ./ -I ../jsoncpp
77
LOADSO = -L ../jsoncpp
88
LIB = -lXEngine_BaseLib -lXEngine_BaseSafe -lXEngine_Cryption -lRfcComponents_HttpProtocol -ljsoncpp
99
LIBEX =
10-
OBJECTS = Verification_HTTP.o Verification_OAuth.o pch.o
10+
OBJECTS = Verification_HTTP.o Verification_OAuth.o Verification_XAuthKey.o Verification_XAuthNet.o pch.o
1111

1212
ifeq ($(RELEASE),1)
1313
FLAGS = -c -D _RELEASE
@@ -66,6 +66,10 @@ Verification_HTTP.o:./Verification_HTTP/Verification_HTTP.cpp
6666
$(CC) $(DEBUG) $(UNICODE) $(FLAGS) $(PLATVER) $(LOADHDR) ./Verification_HTTP/Verification_HTTP.cpp
6767
Verification_OAuth.o:./Verification_OAuth/Verification_OAuth.cpp
6868
$(CC) $(DEBUG) $(UNICODE) $(FLAGS) $(PLATVER) $(LOADHDR) ./Verification_OAuth/Verification_OAuth.cpp
69+
Verification_XAuthKey.o:./Verification_XAuth/Verification_XAuthKey.cpp
70+
$(CC) $(DEBUG) $(UNICODE) $(FLAGS) $(PLATVER) $(LOADHDR) ./Verification_XAuth/Verification_XAuthKey.cpp
71+
Verification_XAuthNet.o:./Verification_XAuth/Verification_XAuthNet.cpp
72+
$(CC) $(DEBUG) $(UNICODE) $(FLAGS) $(PLATVER) $(LOADHDR) ./Verification_XAuth/Verification_XAuthNet.cpp
6973

7074
pch.o:./pch.cpp
7175
$(CC) $(DEBUG) $(UNICODE) $(FLAGS) $(PLATVER) $(LOADHDR) ./pch.cpp

XEngine_Module/XEngine_Verification/Verification_Define.h

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,38 @@
1010
// Purpose: 验证模块导出定义
1111
// History:
1212
*********************************************************************/
13+
typedef enum
14+
{
15+
ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW = 0, //无法识别的充值卡
16+
ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND = 1, //秒钟,本地使用在read和write的时候更新
17+
ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY = 2, //天数,本地使用天数卡,不使用不减天数.
18+
ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME = 3, //次数卡
19+
ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM = 4 //自定义过期日期
20+
}ENUM_AUTHORIZE_MODULE_SERIAL_TYPE, * LPENUM_AUTHORIZE_MODULE_SERIAL_TYPE;
21+
typedef enum
22+
{
23+
ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNKNOW = 0, //未注册,Authorize_CDKey_GetLeftTimer将返回失败
24+
ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_TEMP = 1, //临时,Authorize_CDKey_GetLeftTimer一次后过期,需要Write
25+
ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_TRY = 2, //试用
26+
ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_OFFICIAL = 3, //正式版
27+
ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNLIMIT = 4, //无限制版,永不过期.CDKEY不做任何验证
28+
ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_EXPIRED = 5 //已过期的版本,Authorize_CDKey_GetLeftTimer将返回失败
29+
}ENUM_AUTHORIZE_MODULE_CDKEY_TYPE, * LPENUM_AUTHORIZE_MODULE_CDKEY_TYPE;
30+
typedef enum
31+
{
32+
ENUM_AUTHORIZE_MODULE_HW_TYPE_UNKNOW = 0, //未指定
33+
ENUM_AUTHORIZE_MODULE_HW_TYPE_CPU = 1, //CPU序列号
34+
ENUM_AUTHORIZE_MODULE_HW_TYPE_DISK = 2, //硬盘序列号
35+
ENUM_AUTHORIZE_MODULE_HW_TYPE_BOARD = 3, //主板序列号
36+
ENUM_AUTHORIZE_MODULE_HW_TYPE_MAC = 4, //网卡MAC地址
37+
ENUM_AUTHORIZE_MODULE_HW_TYPE_BIOS = 5 //BIOS序列号
38+
}ENUM_AUTHORIZE_MODULE_HW_TYPE, * LPENUM_AUTHORIZE_MODULE_HW_TYPE;
39+
typedef enum
40+
{
41+
ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_UNKNOW = 0, //未知
42+
ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_LOCAL = 0x01, //本地
43+
ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_NETWORK = 0x02, //网络
44+
}ENUM_AUTHORIZE_MODULE_VERMODE_TYPE, * LPENUM_AUTHORIZE_MODULE_VERMODE_TYPE;
1345
//////////////////////////////////////////////////////////////////////////
1446
// 导出定义
1547
//////////////////////////////////////////////////////////////////////////
@@ -53,6 +85,63 @@ typedef struct
5385
XCHAR tszTokenType[128]; // 授权类型
5486
int nExpiredTime; // 过期时间
5587
}VERIFICATION_TOKENINFO;
88+
typedef struct
89+
{
90+
XCHAR tszAddr[XPATH_MAX]; //服务器或者域名地址
91+
int nPort; //端口号码,如果>0表示CDKEY验证失败后改为网络验证
92+
//版本信息
93+
struct
94+
{
95+
XCHAR tszAppName[128]; //应用程序名称
96+
XCHAR tszAppVer[128]; //应用程序版本号
97+
__int64x nExecTime; //程序已经执行次数,调用Authorize_CDKey_GetLeftTimer会更新
98+
bool bInit; //是否初始化,由用户控制
99+
}st_AuthAppInfo;
100+
//CDKEY信息
101+
struct
102+
{
103+
XCHAR tszHardware[1024]; //硬件码
104+
XCHAR tszCreateTime[64]; //CDKEY创建日期,年/月/日-小时:分钟:秒
105+
XCHAR tszRegisterTime[64]; //注册时间,年/月/日-小时:分钟:秒
106+
XCHAR tszLeftTime[64]; //总的剩余时间,过期日期,根据nLeftType决定此值的意义
107+
XCHAR tszStartTime[64]; //当前启动时间,由系统读取CDKEY的时候自动更新,天数和分钟有效
108+
XCHAR tszExpiryTime[64]; //过期的时间,需要调用Authorize_CDKey_GetLeftTimer并且Write才生效
109+
__int64x nHasTime; //当前还拥有时间,根据nLeftType决定此值的意义,调用Authorize_CDKey_GetLeftTimer会更新
110+
ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType; //过期类型,参考:ENUM_AUTHORIZE_MODULE_SERIAL_TYPE
111+
ENUM_AUTHORIZE_MODULE_CDKEY_TYPE enRegType; //注册类型,参考:ENUM_AUTHORIZE_MODULE_CDKEY_TYPE
112+
ENUM_AUTHORIZE_MODULE_HW_TYPE enHWType; //硬件类型,参考:ENUM_AUTHORIZE_MODULE_HW_TYPE
113+
ENUM_AUTHORIZE_MODULE_VERMODE_TYPE enVModeType; //验证方式,参考:ENUM_AUTHORIZE_MODULE_VERMODE_TYPE
114+
}st_AuthRegInfo;
115+
//临时序列号
116+
struct
117+
{
118+
//次数限制
119+
struct
120+
{
121+
XCHAR tszTimeSerial[128];
122+
int nTimeCount; //使用次数
123+
}st_TimeLimit;
124+
//时间限制
125+
struct
126+
{
127+
XCHAR tszDataTime[128]; //过期时间
128+
XCHAR tszDataSerial[128]; //序列号
129+
bool bTimeAdd; //真,过期时间是设置的日期-创建日期.假过期日期就是设定的日期
130+
}st_DataLimit;
131+
//无限制
132+
struct
133+
{
134+
XCHAR tszUNLimitSerial[128]; //无限制序列号
135+
}st_UNLimit;
136+
}st_AuthSerial;
137+
//注册的用户信息,可以不填
138+
struct
139+
{
140+
XCHAR tszUserName[64]; //注册的用户
141+
XCHAR tszUserContact[64]; //联系方式,电子邮件或者手机等
142+
XCHAR tszCustom[1024]; //自定义数据
143+
}st_AuthUserInfo;
144+
}VERIFICATION_XAUTHKEY;
56145
//////////////////////////////////////////////////////////////////////////
57146
// 导出函数
58147
//////////////////////////////////////////////////////////////////////////

XEngine_Module/XEngine_Verification/Verification_Error.h

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,23 @@
2121
/************************************************************************/
2222
/* OAUTH验证错误 */
2323
/************************************************************************/
24-
#define ERROR_XENGINE_MODULE_VERIFICATION_OAUTH_PARAMENT 0x01E1001 //参数错误,无法继续
24+
#define ERROR_XENGINE_MODULE_VERIFICATION_OAUTH_PARAMENT 0x01E1001 //参数错误,无法继续
25+
/************************************************************************/
26+
/* XAUTH验证错误 */
27+
/************************************************************************/
28+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_PARAMENT 0x01E2001 //参数错误,无法继续
29+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_NOTSUPPORT 0x01E2002 //不支持此生成类型
30+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_UNKNOW 0x01E2003 //获取类型失败,这个类型未知
31+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_SERIAL 0x01E2007 //写入序列号失败
32+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_TIMEOUT 0x01E2009 //CDKEY已经超时,没有可用时间
33+
34+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_MODETYPE 0x01E2010 //不支持的验证模式
35+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_HWTYPE 0x01E2011 //不支持的硬件类型
36+
37+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_EXPIRED 0x01E2012 //已经过期的CDKEY,无法继续使用
38+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_OPENFILE 0x01E2013 //文件不存在
39+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_SETFILE 0x01E2014 //设置文件失败
40+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_TIMELIST 0x01E2015 //不存在时间列表
41+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_MALLOC 0x01E2016 //申请内存失败
42+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_READ 0x01E2017 //读取文件失败
43+
#define ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_FAILED 0x01E2018 //序列号验证失败,输入的序列号错误

0 commit comments

Comments
 (0)