如何申请可在Adobe阅读器验证的PDF签名证书?
解决Adobe可验证的PDF签名证书问题
一、先明确:ZeroSSL是支持的
ZeroSSL的根证书在Adobe信任列表里,不用换CA,只要证书符合Adobe的PDF签名策略要求就能正常验证。
二、生成符合要求的CSR(用OpenSSL)
你之前的问题出在CSR没指定Adobe要求的证书策略,按以下步骤操作:
- 新建一个OpenSSL配置文件(比如命名为
pdf_sign_csr.cnf),复制以下内容并替换括号里的个人/组织信息:
[req] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = dn req_extensions = req_ext [dn] C = CN # 国家代码,比如CN代表中国 ST = 你的省份 L = 你的城市 O = 你的组织/公司名称 OU = 部门名称(可选,没有就删掉这行) CN = 你的姓名/证书显示的主体名称 emailAddress = 你的联系邮箱 [req_ext] keyUsage = digitalSignature, nonRepudiation extendedKeyUsage = codeSigning, emailProtection, 1.3.6.1.4.1.311.10.3.12 # 这个OID是Adobe专门指定的PDF签名扩展 certificatePolicies = 1.3.6.1.4.1.44947.1.1.1 # ZeroSSL的DV证书策略OID,已被Adobe认可
- 执行命令生成CSR和私钥:
openssl req -new -newkey rsa:2048 -nodes -keyout pdf_sign_key.pem -out pdf_sign_csr.csr -config pdf_sign_csr.cnf
三、提交CSR到ZeroSSL获取证书
把生成的pdf_sign_csr.csr提交给ZeroSSL申请DV证书(个人使用完全足够),拿到证书文件(一般为certificate.crt)和CA链文件(ca_bundle.crt)。
四、打包成PFX文件
将私钥、证书、CA链打包成PFX格式,方便后续签名PDF:
openssl pkcs12 -export -out pdf_sign.pfx -inkey pdf_sign_key.pem -in certificate.crt -certfile ca_bundle.crt
执行时会提示设置PFX密码,务必记住这个密码,后续签名操作需要用到。
五、验证签名有效性
用生成的PFX文件签名PDF后,在Adobe阅读器中检查:
- 查看证书路径,确认根证书在Adobe的信任列表内
- 查看证书详情,确保
密钥用法包含「数字签名」「不可否认」,扩展密钥用法包含「PDF签名」(对应之前配置的OID)
如果仍提示策略错误,可执行以下命令查看证书内的策略OID是否正确:
openssl x509 -in certificate.crt -text -noout
找到Certificate Policies字段,确认OID为1.3.6.1.4.1.44947.1.1.1即可。
内容的提问来源于stack exchange,提问作者GuruYaya
相关产品推荐
相关产品推荐

