RSAcmd.h
2.18 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
/*
* 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);
};