You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:34:36