3

pdftk我可以看到三个选项:

1$ pdftk input.pdf output protected-userpw.pdf userpw very_secret
2$ pdftk input.pdf output protected-ownerpw.pdf ownerpw very_secret
3$ pdftk input.pdf input_pw very_secret output protected-input.pdf

当我打开protected-ownerpw.pdf并且protected-input.pdf不要求我输入密码时。只protected-userpw.pdf给出预期的结果。做什么ownerpwinput_pw做什么?

我用来qpdf从受保护的文件中创建不受保护的文件。现在我想知道这是否总是有效。PDF 格式支持哪些密码保护机制?什么qpdf支持。

4

1 回答 1

5

所有者和用户密码不同的含义

在 PDF 文档中,您可以设置安全权限,如

  • 允许打印
  • 允许复制文本
  • 允许填写表单域
  • ...

这些实际上只是文档中的标志,它取决于 pdf 查看器,是否服从它们。

仅设置所有者密码时,用户密码将自动设置为空。PDF 文件仍处于加密状态(所有流和字符串将以加密形式保存),但可以使用空密码对其进行解密。因此,您可以在不输入任何密码的情况下打开 PDF,但一旦打开,您就只有按照安全权限中指定的权限对文档进行操作。所以也许他不被允许打印文件。

当您设置用户和所有者密码时,打开 PDF 的人需要在打开期间指定所有者或用户密码。如果他已经指定了用户密码,他的安全权限是根据 pdf 中的安全设置。如果他使用了所有者密码,他将获得授予的所有安全权限。

PDF 加密 PDF 支持多种不同的加密算法。RC4 或 AES 的加密密钥长度为 40 到 128 以及用户定义的算法,这些都没有包含在 pdf 规范中。在最近对 PDF 1.7 规范(扩展级别 3)的扩展中,也指定了 AES 256。在后来的扩展中,指定了一个更新,它稍微修改了 AES 256 并修复了一个理论上的安全漏洞。关于这些最后的扩展,一些工具仍然存在问题(但我不知道 qpdf)。这些扩展都在今天发布的 PDF 2.0 的 ISO 规范中的普通 pdf 规范中可用。

于 2017-07-28T16:34:56.813 回答