根据魔数识别文件,并标记与真实格式不符的扩展名。
PDF 签名验证工具
该工具本身是英文的;本页面将用您的语言对它进行说明。
使用 PDF 签名验证工具
功能介绍
选择一个 PDF 文件,以查看其中是否包含数字签名(带有 /ByteRange 的签名字典)或仅包含空的签名字段,以及随其存储的签名人姓名、签名原因、签名位置和签名时间。该功能不会对签名或证书进行验证。
它完全在您的浏览器中运行:您输入的任何内容都不会被上传。
如何使用PDF 签名验证工具
- 选择 PDF. 使用“选择 PDF”文件字段从您的设备中选择文件。该文件将在浏览器中直接读取,绝不会被上传;系统支持检查大小不超过 50 MB 的文件。
- 运行检查. 按 Check Signatures(检查签名)。仅选择文件不会自动开始检查。
- 阅读判决书. 第一行说明该 PDF 文件中是否包含数字签名、仅包含空的签名字段,还是两者皆无。
- 阅读每一处签名. 每个签名都会与相应的字段一同列出,其中包含该签名所存储的 /Name、/Reason、/Location 和签名时间,以及其格式和所覆盖的文件字节范围。
- 在别处验证. 要了解签名是否有效以及由谁签署,请在 Adobe Acrobat Reader 中打开该文件,或用 pdfsig 检查。
- 与发件人的说法进行比对. 如果某张发票或合同声称已进行数字签名,但未显示任何签名,请通过您已信任的渠道向发件人核实。
示例
经过数字签名的 PDF
A PDF signed with a digital certificate, chosen with Choose a PDFFound 1 digital signature
Signature 1 (field “Signature1”, object 5)
Signer (/Name): Example Signer
Reason: Approved
Location: Example City
Signing time (/M): 2026-10-20 06:30:00 UTC (as written by the signing software)
Format: adbe.pkcs7.detached (Adobe.PPKLite)
Signed bytes: the whole file except the signature value itself
Signature fields: 1 (1 signed, 0 empty)
Signature dictionaries: 1 | ByteRange entries: 1 | /SigFlags 3 | raw /Sig text matches: 3 (also counts /SigFlags and /FT /Sig)
Not validated: the certificate, the signer’s identity and the signature value are not checked. Use Adobe Acrobat Reader or pdfsig for that.显示每个签名及其字段,包括 /Name、/Reason、/Location 和签名时间,以及已签名的字节是否覆盖了整个文件,还是在签名后添加了更改;未签名的 PDF 会显示“此 PDF 中未找到数字签名”。
检查内容
| 信号 | 其含义 |
|---|---|
| 找到 N 个数字签名 | 该 PDF 文件包含带有 /ByteRange 的签名字典。这仅表示存在签名,并不意味着该签名有效。 |
| 未找到数字签名,N 个签名字段为空 | 该表格上设有签名处,但无人签名。请将此类文件视为未签名文件。 |
| 签署人(/姓名)、原因、地点 | 由签名软件生成的文本。该文本未与任何证书进行核对,因此可以标注任何人的姓名;许多签名仅在证书中标注了签名人的姓名,而此处并未对证书内容进行解码。 |
| 手语时间 (/M) | 由签名软件记录的时间,并非可信时间戳。如果 PDF 文件包含文档时间戳,则会单独列出。 |
| 带符号字节:整个文件 | 该签名覆盖了整个文件,但签名值本身除外:签名后未添加任何内容。 |
| 此签名之后添加的字节 | 签名后可能包含增量更新:后续签名、表单数据、注释或其他更改。请在 Acrobat Reader 中查看具体更改内容。 |
| 没有有效的 /ByteRange,或者范围超出了末尾 | 签名值缺失或损坏,或者文件被截断。请将该签名视为无效。 |
| 加密的 PDF,无法读取的数据流 | 加密 PDF 文件中的签名文本可能会显示为无法识别的字符,且系统会报告无法读取的压缩对象流,因为其中存储的字段不会被计入。 |
更多示例
未签名的 PDF
A plain PDF with no signature fieldsNo digital signatures found in this PDF.(此 PDF 中未找到数字签名。)
空的签名字段
A PDF form with one signature field that nobody has signed未找到数字签名。该 PDF 文件包含 1 个空的签名字段:一个用于签名的位置,而非签名本身,其后显示“签名字段:1(已签名 0 个,空字段 1 个)”以及字段名称。
已签名的 PDF 文件在签名后发生了变化
A signed PDF to which a comment was added and saved发现 1 个数字签名,包含其签名文本和签名时间;在“已签名字节”下方显示一条警告,指出文件末尾的若干字节是在该签名之后添加的。
常见问题解答
它会验证签名是否有效吗?
不。它会读取签名字典(/Type /Sig 配合 /ByteRange 和 /Contents)以及签名字段(/FT /Sig),并显示其中存储的文本;但不会验证证书、签名者的身份或签名值。 请使用 Adobe Acrobat Reader 或 pdfsig 进行验证。
结果会出错吗?
是的。/Name、/Reason、/Location 和签名时间是由签名软件生成的,无法作为任何证明;而且许多签名仅在证书中注明了签名人姓名,而此处并未对证书进行解码。 粘贴在发票上的签名图片并非数字签名,因此无法被检测到;此外,加密的 PDF 文件中,签名人的文本可能会显示为无法识别的字符。
PDF 会被上传吗?
不。文件是在您的浏览器中读取的,从未离开过浏览器。系统会检查大小不超过 50 MB 的文件,并将整个文件加载到内存中。
PDF 文件中的真实数字签名看起来是什么样子的?
一个签名字典,包含 /Type /Sig、一个列出文件带符号部分的 /ByteRange 数组,以及一个存储加密签名的 /Contents 值,该值通常与标记为 /FT /Sig 的表单字段相关联。
它能读取压缩的PDF文件吗?
是的。压缩的对象流会在浏览器中解压,因此可以找到其中存储的签名字段;任何无法读取的流都会在结果中报告。
可以一次检查多个 PDF 吗?
不可以。工具每次运行只读取一个文件;请选择下一个文件,然后再次按 Check Signatures。
我可以检查哪些文件?
PDF 文件大小上限为 50 MB。如果文件前 1024 字节中未以 %PDF- 头开头,则该文件不会被检查,页面上也会注明这一点。