发布时间 : 星期日 文章格尔签名验证客户端(应用服务器)API_C_ActiveX接口说明更新完毕开始阅读
3.10 对文件签名数据验证签名 ........................................................ 37
客户端消息请求格式 ................................................... 37 服务器端验证签名成功的返回消息格式 ......................... 38 服务器端验证签名失败的返回消息格式 ......................... 38
3.10.1 3.10.2 3.10.3 3.11
对文件解密数字信封 ............................................................... 39
客户端消息请求格式 ................................................... 39 服务器端操作成功的返回消息格式 ............................... 39 服务器端操作失败的返回消息格式 ............................... 40
3.11.1 3.11.2 3.11.3 3.12
验证签名(实时从LDAP下载证书并验证) .............................. 40
客户端消息请求格式 ................................................... 40 服务器端操作成功的返回消息格式 ............................... 41 服务器端操作失败的返回消息格式 ............................... 41
3.12.1 3.12.2 3.12.3 3.13
Detach方式PKCS7签名 ......................................................... 42
客户端消息请求格式 ................................................... 42 服务器端操作成功的返回消息格式 ............................... 43 服务器端操作失败的返回消息格式 ............................... 43
3.13.1 3.13.2 3.13.3 3.14
Detach方式PKCS7签名验证 ................................................... 44
客户端消息请求格式 ................................................... 44 服务器端操作成功的返回消息格式 ............................... 44 服务器端操作失败的返回消息格式 ............................... 45
3.14.1 3.14.2 3.14.3
上海格尔软件股份有限公司
5
上海市余姚路288号7楼 Tel: (86-21) 62327010 Fax:62327015 URL: http://www.koal.com
1 接口说明 注意:输出缓冲区的空间请在接口外部分配,请预留足够的存储空间,建议预留64K字节。另外输入的原文数据长度有限制,不能大于40K字节大小。
注意:以下接口输入和输出的原文都不是B64编码,接口内部会自动转换为B64编码,以便于传送。
1.1 客户端初始化
函数:int InitialVerify(char *szIP, unsigned short nPort) * 初始化环境,这个函数需要在使用之前调用
* 它所完成的工作是初始化全局环境,并且建立与服务器的连接 * 注意:此接口会返回连接句柄,这个句柄将用于后续的操作参数 *
* @param szIP 服务器的IP地址; * @param nPort 服务器的端口号
* @return 返回连接的连接句柄,用于后续操作;如果为负数,表示出错
1.2 客户端清理
函数:int FinalizeVerify(int hContext) * 释放资源 *
* @param hContext 连接句柄,通过InitialVerify接口获得
1.3 验证数据签名
函数:int VerifySign(int nSignType,
int nSignStytle,
unsigned char *pOriginData,
上海格尔软件股份有限公司
上海市余姚路288号7楼 Tel: (86-21) 62327010 Fax:62327015 URL: http://www.koal.com
6
int nOriginLength, char *pB64Cert, char *pB64SignedData, int hContext)
* 验证签名有效性
* @param nSignType是进行数字签名前,原文摘要时所用的算法
-1 // 采用直接对原文数据进行签名的方式 0 // MD2摘要算法 1 // MD5摘要算法 2 // SHA1摘要算法
* @param nSignStytle 备用参数,目前无效 * @param pOriginData
原文数据
* @param nOriginLength 原文数据长度
* @param pB64Cert 待验证的证书B64编码(中间没有回车换行) * @param pB64SignedData 签名数据(b64编码) * @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 succeed; other fail
错误码信息参见“错误码说明”部分。以下同。
1.4 验证签名数据和签名证书
函数:int VerifyCertSign(int nSignType,
int nSignStytle,
unsigned char *pOriginData, int nOriginLength, char *pB64Cert, char *pB64SignedData, int iFlagCRL, int hContext)
上海格尔软件股份有限公司
上海市余姚路288号7楼 Tel: (86-21) 62327010 Fax:62327015 URL: http://www.koal.com
7
* 验证签名和证书的有效性 *
* @param nSignType是数字签名前,原文摘要时所用的算法
-1 // 采用直接对原文数据进行签名的方式 0 // MD2摘要算法 1 // MD5摘要算法 2 // SHA1摘要算法
* @param nSignStytle 备用参数,目前无效 * @param pOriginData
原文数据
* @param nOriginLength 原文数据长度
* @param pB64Cert 待验证的证书B64编码(中间没有回车换行) * @param pB64SignedData 签名数据(b64编码) * @param iFlagCRL 验证证书有效性方式
0, 不验证; 1,验证黑名单; 2 ,使用OCSP验证; 其他,只验证证书链
* @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 succeed; other fail
1.5 验证Attach方式的PKCS7数据签名
函数:int PKCS7DataVerify(const char *pPKCS7B64Data,
const unsigned char *pOriginData, unsigned int nOriginLen, int hContext)
* Attach方式的PKCS#7数据签名验证 *
* @param pPKCS7B64Data P7数据B64编码(包含原文)
上海格尔软件股份有限公司
上海市余姚路288号7楼 Tel: (86-21) 62327010 Fax:62327015 URL: http://www.koal.com
8