PDF 支持哪些不同的密码保护选项?

Mar*_*oma 3 pdf pdftk qpdf

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
Run Code Online (Sandbox Code Playgroud)

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

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

Pat*_*ckF 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 规范中都可用。