如何在Ruby中为pdf添加数字签名?

时间:2015-03-18 04:50:42

标签: ruby-on-rails openssl digital-signature wkhtmltopdf wicked-pdf

我使用wicked_pdf生成pdf,我也使用prawntable来获取需要密码保护的pdf。由于邪恶的pdf不支持密码保护的pdf生成。

有没有办法将.pfx格式的数字签名添加到pdf中?

2 个答案:

答案 0 :(得分:1)

密码pdf文件与数字签名

密码pdf文件加密文件。您需要找到一个pdf库/工具包来为您完成。如果你找不到一个带有ruby API的那个,那么你可以把它称为来自ruby的命令。后者并不优雅,但工作正常。 (务必抓住并处理错误。)

数字签署pdf与加密完全不同。签名的结果是带有一个或多个数字签名的pdf。您可以使用库在本地对文件进行签名,或者对于更可靠的系统,通过专用设备对文件进行签名,该设备还包含签名者的私钥和证书。

与密码保护/加密不同,任何收到经过数字签名的pdf文件的人都可以阅读该文件的内容。数字签名为依赖方(接收方)提供以下保证:

  • 签署文件的人的身份
  • 文件的完整性(确认自签名后未发生变更)
  • 文件的无信誉(确认签名者不能声称他们没有签署文件)

一个重要的问题是在普通计算机/服务器的文件系统上拥有签名者的私钥是不够安全,不能提供任何保证不被签名者拒绝 - 她可以如实地说没有方式,以确保她"签名"没有被授权使用pfx文件伪造。

答案 1 :(得分:1)

Origami库对PDF数字签名具有非常基本的支持,并且在https://github.com/gdelugre/origami/blob/master/examples/signature/signature.rb上有此示例代码。