使用CryptSignMessage与SafeNet e-token生成PKCS7签名插入PDF后Adobe验证失败求助
CryptSignMessage与SafeNet e-token生成PKCS7签名插入PDF后Adobe验证失败求助
各位好,我最近在做PDF签名相关的开发,卡了好几天没解决一个问题,想请大家帮忙看看:我用Windows的CryptSignMessage API结合SafeNet e-token生成PKCS7格式的签名(p7s文件),把这个签名插入到PDF文档后,用Adobe Acrobat打开时,一直提示“签名无法验证,因为文档已被修改或损坏”。
我先把目前写的C函数代码贴出来(代码还没写完,后面部分截断了,先放已有的内容):
int GeneratePKCS7Signature(const BYTE * pbData, DWORD cbData, const CERTIFICATES_INFO * certInfo, BYTE ** ppbPkcs7, DWORD * pcbPkcs7) { if (!pbData || cbData == 0 || !certInfo || !certInfo -> signerCert || !ppbPkcs7 || !pcbPkcs7) { prin
我已经确认e-token里的签名证书是有效且未过期的,调用CryptSignMessage时也没返回错误,生成的p7s数据看起来也正常,但就是插入PDF后验证不通过。我怀疑是不是生成签名时的参数配置有问题?比如CRYPT_SIGN_MESSAGE_PARA结构体里的某些字段没设置对?或者是我把p7s插入PDF的方式不对?
有没有大佬遇到过类似的情况,或者能给我一些排查的方向?真的太感谢了!
备注:内容来源于stack exchange,提问作者devmauv
相关产品推荐
相关产品推荐

