格尔签名验证客户端(应用服务器)API_C_ActiveX接口说明 联系客服

发布时间 : 星期日 文章格尔签名验证客户端(应用服务器)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