验证 PDF 签名
有人给你发来一份已签名的 PDF。这个工具会告诉你文件是否仍与签署时一致,以及证书声称的签署者是谁。文档在你的设备上读取:已签署的合同,最不该上传给陌生服务器。
把 PDF 拖到这里,或点击选择
你的文件留在这台设备上,不会上传任何内容。
如何验证 PDF 的数字签名
- 把已签名的 PDF 拖到上面的框里,或点击「选择 PDF 文件」。检查会立即开始。
- 先看顶部的结论。它会告诉你文件在签署后是否被改动过,或者签名是否无法检查。
- 逐一查看每个签名的卡片:签名时间、它覆盖了文件的哪一部分,以及证书是否有效。证书属于谁在浏览器里无法确认,页面也会说明这一点。
「验证 PDF 签名」能做什么
有人把一份合同、发票或证书作为已签名的 PDF 发给你。这个工具回答关于它值得问的两个问题:签名之后有没有东西被改过,以及证书说签名的人是谁。
能做的事
- 重新计算文档的指纹,和签名里封存的那个做比对
- 拿签名本身和签名者的证书核对,所以就算正文没动,伪造的签名也会被抓出来
- 区分已签名文件出问题的两种方式:内容被编辑过,或者在已签名部分之后被追加了内容
- 显示证书署的是谁、由谁签发、什么时候过期,以及签名者是不是给自己签发的
- 把它做不了的检查直接说清楚,而不是打一个含义比看上去少的勾
不做的事
- 确认证书真的属于它所署的那个人:那需要你操作系统持有的受信任机构列表,而网页读不到它
- 检查证书是否已被吊销,那需要向签发方服务器发请求,浏览器没有这个权限
- 对手写或扫描的签名给出结论,它不带证书,也就没有什么可验证的
- 告诉你某个签名在你所在的地方是否具有法律效力;那取决于文档和法域
- 以任何方式改动文件(它只读)
最后更新
需要把它发给别人吗?
我们的姊妹站 QRSansar 可以托管一份文档,并给你一个短链接和二维码,用在 WhatsApp、幻灯片、海报或印刷材料上都很方便,而且完全绕开附件大小限制。之后你还可以换掉文件,链接和二维码照常有效。
区别值得说清楚:那是一项托管服务,所以你的文件确实会上传到它那里。PDFsansar 上的一切都留在你的设备上;分享是唯一做不到这一点的事。
在 QRSansar 上分享文档 →其他工具
全部免费,全部在这个标签页里运行,不上传任何东西。
验证 PDF 签名: 常见问题
「文档未被改动」到底证明了什么?
证明签名覆盖的那些字节,就是当初被签名的那些字节。签名里带着签署那一刻取下的文件指纹;这个工具重新算一遍这个指纹再做比对。如果一致,那么此后没有人改动过一个词、一个数字或一页。如果不一致,签名之后有东西变了,工具会说明是两种方式中的哪一种:内容被编辑过,或者末尾被追加了额外内容。
它说签名有效,但签名者未经验证。到底算哪样?
两样都算,它们回答的是不同的问题。「有效」意味着数学没问题:签名确实是用文件里那张证书对应的私钥做出来的,而且文档与之相符。「未经验证」意味着我们没法告诉你这张证书属于它所署的那个人。要查这一点,需要你操作系统信任的证书颁发机构列表,而浏览器页面无权读取它。Acrobat 能做这项检查;这个工具不能,所以它直说,而不是去猜。
证书是自签名的。文档是假的吗?
不一定,而且这个区别值得弄明白。自签名的意思是签署者给自己签发了证书,而不是从机构买了一张。篡改检测仍然完全有效:你可以确定文件没有被改动过。你不能确定的是它是谁做的,因为任何人都能生成一张写着任何名字的证书。把自签名的签名当成信封上的封漆:它告诉你信封没被拆过,但不告诉你是谁封的。
为什么它说签名没有覆盖整个文件?
因为已签名范围的末尾之后还有字节。在 PDF 里,文档在签名之后被扩展正是这个样子:有人追加了页面、一条表单填写或别的改动,而这部分落在签名的保证范围之外。有时这是无害的:第二个人会签时会加上自己的那一段,工具认得这种情况,不会把它标为异常。当没有别的理由能解释这些多出来的字节时,请对它们保持警惕。
它能查出文档是什么时候签的吗?
它会显示签署时间,并且还会告诉你这个时间有没有独立机构的时间戳背书。没有时间戳的话,这个日期只是签署者的电脑当时声称的时间,而声称不是证明:时钟可以被调成任何时间。时间戳必须在签署过程中向服务器索取,所以很多其他方面都没问题的签名并没有它。
我的 PDF 上有签名,但这里说它没有被签名。
那说明它是签名的图片,而不是密码学签名。大多数「已签名」的 PDF 里装的正是这个,包括我们自己的「签署 PDF」工具做出来的。手写或扫描的签名是页面上的墨水;它被广泛接受,也不带证书,所以这里没有什么可查的。本工具只对密码学的那一种给出结论。