RSAcmd.h 2.18 KB
/* 
 *  Copyright (c) 2011,  广州江南科友union  
 *  All rights reserved. 
 *  文件名称: RSAcmd.h
 *  摘 要:    应用加密机RSA指令接口的定义  
 *  当前版本: 1.0,  编写者: 杨武,修改时间: 2011-11-22 修改内容: 创建
 *  
 */
extern "C" 
{
	//由公钥生成一个MAC 00EO
	//输入参数:pKey 公钥
	//输入参数:mac 对于公钥的MAC,用MK计算
	//返回值: <0:失败;=0成功
	_declspec(dllexport) int union_syj1001_genMacFromPKey(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char*pKey,char*mac);
	//输出一个DES密钥00GK
	//输入参数:formatOfKeyBlock 密钥块编码
	//输入参数:typeOfFilled 填充方式
	//输入参数:indexOfKey 密钥索引
	//输入参数:keyValByMK 密钥值
	//输入参数:chkVal
	//输入参数:lenOfMac MAC值中需要进行验证的字节数;最小值为8,最大值16
	//输入参数:mac
	//输入参数:pKey 公钥,用ASN.1格式编码的DER(模、指数的序列)
	//输出参数:iniVal
	//输出参数:lenOfDESKey
	//输出参数:lenOfKeyBlock
	//输出参数:DESKeyByPK 公钥下加密的DES密钥。
	//返回值: <0:失败;>0成功 公钥下加密的DES密钥长度
	_declspec(dllexport) int union_syj1001_outputDESKey(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char formatOfKeyBlock,char typeOfFilled,char*indexOfKey,char*keyValByMK,char*chkVal,int lenOfMac,char*mac,char*pKey,char*iniVal,char *clenOfDESKey,char *cLenOfKeyBlock,char*DESKeyByPK);
	//输出一个DES密钥S0GK
	//输入参数:formatOfKeyBlock 密钥块编码
	//输入参数:typeOfFilled 填充方式
	//输入参数:indexOfKey 密钥索引
	//输入参数:keyValByMK 密钥值
	//输入参数:chkVal
	//输入参数:lenOfMac MAC值中需要进行验证的字节数;最小值为8,最大值16
	//输入参数:mac
	//输入参数:pKey 公钥,用ASN.1格式编码的DER(模、指数的序列)
	//输出参数:iniVal
	//输出参数:lenOfDESKey
	//输出参数:lenOfKeyBlock
	//输出参数:DESKeyByPK 公钥下加密的DES密钥。
	//返回值: <0:失败;>0成功 公钥下加密的DES密钥长度
	_declspec(dllexport) int union_syj1001_outputDESKey_SM1(char* hsmIp,int hsmPort,int timeout,int isCfg,int hsmLenOfMsgHeader,int isLenOfHsmMsg,int clientSocket,char formatOfKeyBlock,char typeOfFilled,char*indexOfKey,char*keyValByMK,char*chkVal,int lenOfMac,char*mac,char*pKey,char*iniVal,char *clenOfDESKey,char *cLenOfKeyBlock,char*DESKeyByPK);
};