【问题标题】:Do we really need a hardware device to digitally sign PDFs generated by our website?我们真的需要硬件设备来对我们网站生成的 PDF 进行数字签名吗?
【发布时间】:2013-02-22 07:47:44
【问题描述】:

我们的网站生成 PDF 并使用 iTextSharp 和 BouncyCastle 对其进行数字签名。

但是我们被告知我们不能使用网站的 SSL 证书来签署 PDF,我们需要一个特殊的 PDF 签名证书(因为 Adob​​e 只信任某些根)。获得类似网站使用的证书(即生成的文档的自动编程签名)的唯一方法是获得一个物理硬件设备,该设备可以访问证书的私钥。显然这个硬件设备要花费很多钱

我们真的需要花费数千美元来签署 PDF 以得到 Adob​​e 的信任吗?

【问题讨论】:

标签: pdf adobe itextsharp digital-signature bouncycastle


【解决方案1】:

不,不需要硬件来签署 PDF。看起来有人想榨取你一点钱:)

http://www.pdflib.com/products/plop-ds/ 是一个商业产品示例,您可以使用软件来签署 PDF。

TCPD (http://www.tcpdf.org/) 是 PHP 动态编写 PDF 的通用库,内置了 PDF 签名。它是开源的 =) 那里有示例代码说明他们如何签署 PDF。

【讨论】:

  • 设备 willem 指的是 USB 令牌,用于持有带有私钥的证书。它与签名本身无关。因此,尽管您的答案有效,但它不适用。
  • 啊,对不起,我读了这个问题,以为它是关于软件方面的 :) (Do we really need to spend thousands of dollars to sign a PDF to be trusted by Adobe?)。答案是不。例如,Entrust 有两种类型的组签名证书,自动和手动。不同之处在于它们旨在用于自动化流程(通常是 Adob​​e® Live Cycle)来签署和认证文档。见entrust.net/adobe-cds-faq.htm 不幸的是它并没有改变委托证书的价格。
【解决方案2】:

从技术角度来看,您可以使用任何带有私钥的 X.509 证书并正确设置密钥使用扩展来签署文档。但是,验证方(通常是 Adob​​e Reader)将仅信任某些证书。 Adobe 的要求是,Adobe Reader 接受的证书是按照其要求颁发的,其中之一是通过将私钥放入硬件来保护私钥。

可以通过告诉 Reader 使用 Windows 证书存储验证证书、添加自定义根作为受信任的根等来调整 Adob​​e Reader 以接受其他证书,但这需要在客户端(读取器)端执行额外操作。

此外,您还没有找到可以向您出售适合数据签名的证书而无需您为硬件设备支付大量费用的证书颁发机构。为什么会这样? “垄断”就是答案。 Adobe 已经对 PDF 和阅读器造成了一种垄断,现在让合作伙伴(和它自己)滥用它。

USB 令牌的成本约为 50 美元(批量购买时要少得多),但您必须向 CA 支付 10 倍以上的费用才能将该令牌交付给您。而且这个费用不是为了验证你,而只是一种垄断费用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2013-08-05
    • 2011-08-18
    相关资源
    最近更新 更多