什么是 PDF 中的数字签名?
PDF 中的数字签名 用于验证文档的真实性和完整性。
这是一种密码机制,可确保 PDF 文件自创建以来未被篡改,并且来自预期的发送方。数字签名使用公钥密码技术,签名者会生成包含其公钥的唯一数字证书。该证书用于加密文档的哈希值,然后将其嵌入到 PDF.
接收者可以使用签名者的公钥解密嵌入的哈希值,以验证文档未被更改且来自预期来源。
数字签名 可在 PDF 文档的真实性、完整性和不可否认性方面提供保障,因此对敏感或具有法律效力的文件尤为重要。
目前有许多软件应用和在线服务支持对 PDF 文档进行数字签名。
签名实际覆盖的内容
数字签名会在文件的一个字节范围上生成哈希值,并用签名者的私钥对其加密。结果会与签名证书一同存储。验证时会重新计算该哈希值,并将其与证书进行比对。 字节范围使得签名可以在可编辑的格式中工作。因为 增量更新 是追加而不是重写,早期签名所覆盖的字节保持不变,文档可以依次由多个人签名,并且每个签名都仍然可验证。
有效性包含两个独立问题
查看器要回答两个问题,而且很容易混淆。第一,文档自签名后是否被修改过?第二,签名证书是否受信任,并且在签名时是否处于有效期内?
文档可以完全未被修改却仍然显示警告,仅仅因为证书是自签名的,或由阅读者不信任的机构签发。来自受信任机构的时间戳和嵌入的吊销数据,可以让签名在多年后、即使证书本身已经过期时,依然可以被验证。
签名不同于在页面上绘制或粘贴的签名图像。手写签名的图片只是页面内容,并不包含任何密码学上的证明。