composeCmd.h 6.49 KB
/* 
 *  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);
};