composeCmd.h
6.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
* Copyright (c) 2011, 广州江南科友union
* All rights reserved.
* 文件名称: composeCmd.h
* 摘 要: 应用加密机组合指令接口的定义
* 当前版本: 1.0, 编写者: 杨武,修改时间: 2011-11-22 修改内容: 创建
*
*/
extern "C"
{
//数据加解密计算指令 00U1
//输入参数:enMode 加密模式标识
//输入参数:ID 方案ID
//输入参数:indexOfRKey 根密钥索引
//输入参数:rKeyValByMK 根密钥
//输入参数:disperseCount 离散次数
//输入参数:disperseData 离散数据
//输入参数:processData 过程数据
//输入参数:typeOfFilled 数据填充标识
//输入参数:lenOfData
//输入参数:data
//输出参数:outData 加密后数据
//返回值: <0:失败;>0成功 加密后数据长度
_declspec(dllexport) int union_syj1001_handleData_U1(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char enMode,char*ID,char*indexOfRKey,char*rKeyValByMK,int disperseCount,char*disperseData,char*processData,char*typeOfFilled,int lenOfData,char*data,char *outData);
//数据加解密计算指令 S0U1
//输入参数:enMode 加解密模式标识
//输入参数:ID 方案ID
//输入参数:indexOfRKey 根密钥索引
//输入参数:rKeyValByMK 根密钥
//输入参数:disperseCount 离散次数
//输入参数:disperseData 离散数据
//输入参数:processData 过程数据
//输入参数:typeOfFilled 数据填充标识
//输入参数:lenOfData
//输入参数:data
//输出参数:outData 加解密后数据
//返回值: <0:失败;>0成功 加密后数据长度
_declspec(dllexport) int union_syj1001_handleData_U1_SM1(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char enMode,char*ID,char*indexOfRKey,char*rKeyValByMK,int disperseCount,char*disperseData,char*processData,char*typeOfFilled,int lenOfData,char*data,char *outData);
//安全报文计算指令00U2
//输入参数:safeMode 安全机制
//输入参数:algoMode 模式标识
//输入参数:ID 方案ID
//输入参数:indexOfRKey 根密钥索引
//输入参数:rKeyValByMK 根密钥
//输入参数:disperseCountRKey 离散次数
//输入参数:disperseDataRKey 离散数据
//输入参数:indexOfProtectedKey 保护密钥索引
//输入参数:rKeyValByMK 保护密钥
//输入参数:disperseCountProtectedKey 离散次数
//输入参数:disperseDataProtectedKey 离散数据
//输入参数:typeOfProcessKey 过程密钥标识
//输入参数:processElement 过程因子
//输入参数:iniVec_CBC IV-CBC
//输入参数:lenOfFillData 加密填充数据长度
//输入参数:fillData 加密填充数据
//输入参数:offsetOfFillData 加密填充数据偏移量
//输入参数:iniVec_MAC IV-CBC
//输入参数:lenOfMacData MAC填充数据长度
//输入参数:macData MAC填充数据
//输入参数:offset 偏移量
//输出参数:mac
//输出参数:enData
//返回值: <0:失败;>0成功 密文数据长度
_declspec(dllexport) int union_syj1001_safeMsg(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char safeMode,char algoMode, char ID,char*indexOfRKey,char*rKeyValByMK,int disperseCountRKey,char*disperseDataRKey,char*indexOfProtectedKey,char*pKeyValByMK,int disperseCountProtectedKey,char*disperseDataProtectedKey,char typeOfProcessKey,char*processElement,char*iniVec_CBC,int lenOfFillData,char*fillData,int offsetOfFillData,char*iniVec_MAC,int lenOfMacData,char*macData,int offset,char *mac,char* enData);
//安全报文计算指令S0U2
//输入参数:safeMode 安全机制
//输入参数:algoMode 模式标识
//输入参数:ID 方案ID
//输入参数:indexOfRKey 根密钥索引
//输入参数:rKeyValByMK 根密钥
//输入参数:disperseCountRKey 离散次数
//输入参数:disperseDataRKey 离散数据
//输入参数:indexOfProtectedKey 保护密钥索引
//输入参数:rKeyValByMK 保护密钥
//输入参数:disperseCountProtectedKey 离散次数
//输入参数:disperseDataProtectedKey 离散数据
//输入参数:typeOfProcessKey 过程密钥标识
//输入参数:processElement 过程因子
//输入参数:iniVec_CBC IV-CBC
//输入参数:lenOfFillData 加密填充数据长度
//输入参数:fillData 加密填充数据
//输入参数:offsetOfFillData 加密填充数据偏移量
//输入参数:iniVec_MAC IV-CBC
//输入参数:lenOfMacData MAC填充数据长度
//输入参数:macData MAC填充数据
//输入参数:offset 偏移量
//输出参数:mac
//输出参数:enData
//返回值: <0:失败;>0成功 密文数据长度
_declspec(dllexport) int union_syj1001_safeMsg_SM1(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char safeMode,char algoMode, char ID,char*indexOfRKey,char*rKeyValByMK,int disperseCountRKey,char*disperseDataRKey,char*indexOfProtectedKey,char*pKeyValByMK,int disperseCountProtectedKey,char*disperseDataProtectedKey,char typeOfProcessKey,char*processElement,char*iniVec_CBC,int lenOfFillData,char*fillData,int offsetOfFillData,char*iniVec_MAC,int lenOfMacData,char*macData,int offset,char* mac,char* enData);
//计算及校验MAC/TAC指令 00U3
//输入参数: mode 模式标识
//输入参数:ID 方案ID
//输入参数:indexOfRKey 根密钥索引
//输入参数:rKeyValByMK 根密钥
//输入参数:disperseCount 离散次数
//输入参数:disperseData 离散数据
//输入参数:processData 过程
//输入参数:typeOfMacDataFilled MAC数据填充标识
//输入参数:iniVec_MAC
//输入参数:lenOfData
//输入参数:data
//输入参数:typeOfMacLen
//输入参数:mac
//输出参数:outMac mac
//返回值: <0:失败;=0成功
_declspec(dllexport) int union_syj1001_Mac_U3(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char mode,char ID,char*indexOfRKey,char*rKeyValByMK,int disperseCount,char *disperseData,char*processData,char typeOfMacDataFilled,char *iniVec_Mac,int lenOfData,char *data,char typeOfMacLen,char *mac,char*outMac);
//计算及校验MAC/TAC指令 S0U3
//输入参数: mode 模式标识
//输入参数:ID 方案ID
//输入参数:indexOfRKey 根密钥索引
//输入参数:rKeyValByMK 根密钥
//输入参数:disperseCount 离散次数
//输入参数:disperseData 离散数据
//输入参数:processData 过程
//输入参数:typeOfMacDataFilled MAC数据填充标识
//输入参数:iniVec_MAC
//输入参数:lenOfData
//输入参数:data
//输入参数:typeOfMacLen
//输入参数:mac
//输出参数:outMac mac
//返回值: <0:失败;=0成功
_declspec(dllexport) int union_syj1001_Mac_U3_SM1(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char mode,char ID,char*indexOfRKey,char*rKeyValByMK,int disperseCount,char *disperseData,char*processData,char typeOfMacDataFilled,char *iniVec_Mac,int lenOfData,char *data,char typeOfMacLen,char *mac,char*outMac);
};