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

AATL证书签名无效问题求助

AATL证书签名无效问题求助

你好呀!看到你从自签名证书切换到AATL证书后遇到了签名无效的问题,这种证书链配置的坑确实挺头疼的,我帮你梳理几个常见的排查方向,你可以逐一检查下:

  • 证书链的顺序与完整性:AATL对信任链的要求很严格,PKCS7中的证书链必须遵循「终端实体(EE)证书 → 上一级中间证书 → ... → AATL根证书」的顺序,不能颠倒。你可以用openssl pkcs7 -in 你的PKCS7文件.p7b -print_certs -text命令导出证书链,直观检查证书的排列顺序,以及每一级证书的Issuer和Subject是否能正确衔接(上一级的Subject是下一级的Issuer)。另外要注意:AATL的根证书通常已经内置在Acrobat的信任列表中,不需要手动加入PKCS7,但中间证书必须完整包含,不能遗漏任何一环。

  • EE证书的用途合规性:AATL证书必须具备PDF签名的合法用途,你要确认EE证书的扩展字段里,Extended Key Usage是否包含**Adobe PDF签名专用OID(1.3.6.1.4.1.311.10.3.12)**或者通用数字签名OID(1.3.6.1.5.5.7.3.2)。同时要检查证书是否存在用途限制,比如是否被标记为仅用于加密而非签名,这会直接导致Acrobat判定签名无效。

  • 签名属性的完整性:PDF的PKCS7签名需要符合CMS标准,必须包含几个核心属性:

    • contentType:指定签名内容类型为PDF
    • signingTime:签名时间戳
    • messageDigest:文档的哈希值
      你可以用pdfsig -verbose pdf_with_signature(需安装poppler工具集)查看签名的详细属性,确认这些必填项是否存在且格式正确。
  • 时间戳配置问题:AATL签名通常要求使用可信时间戳,如果你之前自签名时未配置时间戳,切换AATL后也没添加,或者时间戳服务器不在Acrobat的信任列表中,也会触发签名无效。检查签名过程中是否调用了AATL认可的时间戳服务,并且时间戳的证书链也能被Acrobat信任。

  • Acrobat的信任与吊销检查:

    1. 确认你的Acrobat版本是否包含对应的AATL根证书——旧版本Acrobat可能未更新AATL信任列表,导致无法识别根证书。你可以通过「编辑→首选项→签名→身份与信任证书→信任根证书」搜索对应的AATL根证书是否存在。
    2. 查看Acrobat的签名验证报告:点击签名面板的「验证签名」→「显示签名属性」→「高级属性」,里面会明确列出验证失败的原因(比如吊销检查失败、信任链不完整等),这是定位问题最直接的方式。

如果经过以上排查还是没解决,你可以把Acrobat给出的具体错误提示贴出来,或者提供签名过程中生成PKCS7的相关命令/代码片段,这样能更精准地帮你定位问题~

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 09:43:03