发布时间 : 星期日 文章格尔签名验证客户端(应用服务器)API_C_ActiveX接口说明更新完毕开始阅读
* @param pOriginData 签名数据的原文 (Attach方式P7签名验证请置为NULL)
* @param nOriginLen 原文的长度(Attach方式P7签名验证请置为0) * @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 succeed; other fail
1.6 验证Attach方式的PKCS7数据签名并获取原文
函数:int PKCS7DataVerifyGetOriData(const char *pPKCS7B64Data,
const unsigned char *pOriginData, unsigned int *pnOriginLen, int hContext)
* Attach方式的PKCS#7数据签名验证,并获取原文信息 *
* @param pPKCS7B64Data P7数据B64编码(包含原文) * @param pOriginData 返回的原文数据 * @param pnOriginLen
返回的原文数据长度
* @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 succeed; other fail
1.7 证书验证
函数:int VerifyCert(char *pB64Cert,
int iFlagOCSP, int iFlagCRL, int hContext)
* 验证证书有效性 *
* @param pB64Cert 待验证的证书B64编码(中间没有回车换行) * @param iFlagOCSP 使用OCSP方式验证标志,1 -- 使用OCSP方式验
上海格尔软件股份有限公司
上海市余姚路288号7楼 Tel: (86-21) 62327010 Fax:62327015 URL: http://www.koal.com
9
证,0 -- 不使用OCSP
* @param iFlagCRL 是否验证黑名单标志,1 -- 验证黑名单,0 -- 不验证黑名单
* @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 // 证书没有问题
1 // 证书尚未生效 2 // 证书已经过期 3 // 证书时间有问题 4
// 没有有效证书链
5 // 签名验证失败 6 // 上级证书未通过验证 7
// 已被废除
1.8 获取证书信息
函数:int GetCertInfo(char *pB64Cert,
int nType, char *pItemName, char *pCertInfo, int hContext)
* 取证书信息 *
* @param pB64Cert 待验证的证书B64编码(中间没有回车换行) * @param nType 证书项的类型
0 // 取证书用户信息基本项 1 // 取证书的发布者信息项 2 // 取证书扩展项
* @param pItemName 所要取得证书项名称,如\等 * @param pCertInfo 所要取得证书项的值
上海格尔软件股份有限公司
上海市余姚路288号7楼 Tel: (86-21) 62327010 Fax:62327015 URL: http://www.koal.com
10
* @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 succeed; other fail
1.9 Attach方式PKCS7数据签名
函数:int PKCS7DataSign(const unsigned char *pOriginData,
unsigned int nOriginDataLen,
char *pSignedData, int hContext)
* Attach方式的PKCS#7数据签名 *
* @param pOriginData 待签名原文,数据长度不能超过40K * @param nOriginDataLen 原文长度
* @param pSignedData 签名后的P7数据B64编码(签名后的数据包含原文) * @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 succeed; other fail
1.10 数据签名(普通签名数据)
函数:int SignData(int nSignType,
const unsigned char *pOriginData,
unsigned int nOriginDataLen, char *pSignedData, char *pB64Cert, int hContext)
* 普通格式的数据签名(不使用PKCS7格式封装签名结果) *
* @param nSignType是数字签名前,原文摘要时所用的算法
上海格尔软件股份有限公司
上海市余姚路288号7楼 Tel: (86-21) 62327010 Fax:62327015 URL: http://www.koal.com
-1 // 采用直接对原文数据进行签名的方式 0 // MD2摘要算法
11
1 // MD5摘要算法 2 // SHA1摘要算法
* @param pOriginData 待签名原文 * @param nOriginDataLen 原文长度 * @param pSignedData 签名后的数据 * @param pB64Cert B64编码的签名证书
* @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 succeed; other fail
1.11 对文件签名
函数:int SignFile(int nSignType,
char *strFile, int iSignAlgo, char *strSignedData, char *pB64Cert, int hContext)
* 对文件进行签名(不使用PKCS7格式封装签名结果) *
* @param nSignType是数字签名前,原文摘要时所用的算法
-1 // 采用直接对原文数据进行签名的方式 0 // SHA1摘要算法 1 // MD5摘要算法
* @param strFile 待签名的文件名
* @param iSignALgo 签名算法, 作为扩展使用,暂时无效 * @param strSignedData 签名后的数据 * @param pB64Cert B64编码的签名证书
* @param hContext 连接句柄,通过InitialVerify接口获得 * @return 0 succeed; other fail
上海格尔软件股份有限公司
上海市余姚路288号7楼 Tel: (86-21) 62327010 Fax:62327015 URL: http://www.koal.com
12