如何在 Linux 中验证 PDF 的数字签名?

如何在 Linux 中验证 PDF 的数字签名?

我在 MS Windows 上使用的 Adob​​e Reader 能够验证 PDF 文件中的数字签名(使用 X.509 证书创建)。

我想在 Linux 桌面上进行此类验证。我尝试过 Evince 和 Okular,这是最受推荐的 PDF 阅读器,但它们无法做到这一点。另一方面,Adobe Reader 不适用于 Linux(请参阅https://get.adobe.com/reader/otherversions/)。当前版本的 Firefox 和 Chrome 中内置的 PDF 阅读器均无法验证签名。

我可以使用 GUI、命令行工具或 Firefox/Chrome 扩展来执行此操作。

答案1

Poppler (poppler-utils) 包含pdfsig,它根据存储的已知证书验证签名。

它还不是超级先进(没有出口),但已经向前迈了一大步。

更新:原始错误编号为16770并于 2016-03-01 投入生产;它首先被纳入v0.42

答案2

Libreoffice Draw 能够读取 PDF 并允许验证文档的证书和签名(File -> Digital Signatures -> Digital Signatures…)。

此外,加载 PDF 时,如果无法验证证书但签名正确,则会出现一条警告消息。

我已经使用 6.0.4.2 进行了测试,但根据与 LibreOffice 中的 PDF 签名相关的众筹页面这可能在 2015 年就已实现,当时的版本为 4.4 或 4.5。

答案3

使用以下任一方式:

答案4

以下步骤显示如何下载 Aadhaar 卡并将其转换为漂亮的 PDF:

  1. https://eaadhaar.uidai.gov.in/eaadhaar/并填写这张难看的表格。
  2. 输入短信中的代码下载并保存文件。我假设你将其保存为“aadhaar-unverified.pdf”。
  3. 从 deb-multimedia.org 存储库安装 acrobat reader 和 javascript 插件:apt-get install acroread acroread-plugins acroread-escript
  4. 用acroread打开文件,密码是城市的ZIP。
  5. 单击问号,将打开一个标题为“签名验证状态”的窗口。
  6. 单击“签名属性”打开同标题的窗口。
  7. 点击“显示证书”打开证书窗口。选择“信任”选项卡。
  8. 点击“添加到可信身份”。
  9. 单击“确定”关闭证书窗口。
  10. 点击“验证签名”。
  11. 单击“关闭”以关闭签名属性窗口。
  12. 将该页打印到文件“aadhaar-verified.ps”中。
  13. 将 postscript 文件转换为 pdf。以下命令只有一行。“sed”从 postscript 文件中删除愚蠢的“复制保护”,然后 ps2pdf 创建 PDF 文件。 sed "/mark currentfile eexec/,/cleartomark/ d" aadhaar-verified.ps | ps2pdf - aadhaar-verified.pdf
  14. 现在将您的 E-Aadhaar 卡的副本打印在纸上并备份您的 PDF 文件。

现在您有了一份经过验证的 PDF,您可以毫无问题地打印它。是不是很简单?

相关内容