我已经获得了权威机构颁发的S / MIME证书(.p12文件)。我可以按照以下步骤在Writer中使用它进行数字签名: 如何使LibreOffice Writer可以使用数字证书进行数字签名?
我可以对PDF文件做同样的事情吗?如果是,您建议我采用哪种方法?我希望有一个依靠自由软件的解决方案。
我已经获得了权威机构颁发的S / MIME证书(.p12文件)。我可以按照以下步骤在Writer中使用它进行数字签名: 如何使LibreOffice Writer可以使用数字证书进行数字签名?
我可以对PDF文件做同样的事情吗?如果是,您建议我采用哪种方法?我希望有一个依靠自由软件的解决方案。
Answers:
我发现您可以使用gpg对PDF进行签名,使其在查看器中仍然可以打开。
gpg --clearsign --output=signed.pdf input.pdf
以上将产生.asc文件,该文件基本上是输入||的串联,但是文件扩展名被强制为.pdf,从而使其在查看器中打开,生成缩略图等。
您可以再次使用gpg验证签名。
$ gpg --verify signed.pdf
gpg: Podpisano nie, 12 kwi 2015, 19:07:15 CEST z użyciem RSA kluczem
gpg: Poprawny podpis od "Arkadiusz Bulski <arek.bulski@gmail.com>"
请注意,某些pdf不能通过这种方式很好地签名,例如优化的pdf。您应该自己检查结果。
您唯一的选择是便携式签名器。下载并运行jar。但是,它需要一个p12文件中的私钥(与SmartCard不兼容)。
您可能希望Ubuntu的文档签名工具(例如qdigidoc或gpg)可以,但是不,它们不能与PDF签名一起使用。
然后,您可能期望Ubuntu PDF操作工具(例如提供加密的qpdf或提供水印的pdftk)也提供签名功能,但是,它们没有。
可用于您目的的开源工具的总列表为:http : //wiki.cacert.org/PdfSigning
不幸的是,目前尚未维护任何工具,在Ubuntu软件包中也找不到。便携式签名器是维护得最好的。
您可以使用gpg / seahorse签署PDF文件。
了解更多信息:https : //help.ubuntu.com/community/GnuPrivacyGuardHowto
例如,您可以使用OpenSignPDF,可以在此处下载:http : //opensignature.sourceforge.net/english.php
我希望这回答了你的问题。
如果Writer中有可用的证书,并且使用了“ 导出为PDF”功能,则还可以在导出之前从对话框的最后一个选项卡对生成的PDF进行数字签名。
AFAICT,适用于Android的Acrobat Reader表示该文档受保护,FWIW。
更新'17:自去年12月以来,您可以通过LibreOffice对PDF文件进行签名File → Digital signatures → Sign exiting PDF
。
这将打开能够签名PDF的Draw。
Master PDF Editor具有一个免费版本,它将对.p12文件进行签名。
但是免费版本留下了丑陋的水印。有趣的是,可以在程序本身中或使用其他PDF编辑器(例如LibreOffice Draw)将其删除。
软件中心提供的PDF Studio 7 Pro具有PDF的数字签名功能。截至我撰写本文时,它的成本仅为125美元。
根据官方网站的说法,它确实是S / MIME签名。