【问题标题】:Cannot verify PDF esig/dss signature with iText无法使用 iText 验证 PDF esig/dss 签名
【发布时间】:2016-12-23 07:34:34
【问题描述】:

我有由 esig/dss https://github.com/esig/dss library 签名的 PDF 文档。我可以在 Acrobat Reader 中看到该签名。当我想用 iText 和 BouncyCastle 验证它时,我遇到了异常:

2.16.840.1.101.3.4.2.1withRSA Signature not available

我在 Fedora 上使用 Oracle JDK 1.8.0_112 和无限加密 iText-2.0.8.jar 和 BouncyCastle bcprov-jdk16-139.jar

当我使用来自Complete list of MessageDigest available in the JDK的响应检查我的环境中可用的消息摘要时

我明白了:

Alias: "OID.2.16.840.1.101.3.4.2.1" -> "SHA-256"

所以它在我的 JDK 中可用。

为什么2.16.840.1.101.3.4.2.1withRSA Signature not available

【问题讨论】:

  • 请分享一个示例文件。
  • 说了这么多,我才知道你提到了"iText-2.0.8.jar""bcprov-jdk16-139.jar"。这些版本是古老的,从那时起有许多与签名相关的标准发生了变化,甚至是新引入的。另一方面,Esig/dss 是最新的并且特别针对新标准。因此,更新,更新,更新!我会回答的。

标签: pdf cryptography itext signature


【解决方案1】:

您提到您使用“iText-2.0.8.jar”和“bcprov-jdk16-139.jar”。

这些版本很古老,尤其是 itext 2.0.8 已于 2008 年初发布。PAdES 规范于 2009 年首次发布,它们对 pdf 签名进行了许多更改和添加。 Esig/dss 本质上是作为这些更改和添加的第一个实现而引入的。

因此,您绝对应该考虑更新以支持当前标准。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2021-07-16
    • 2018-06-25
    • 2013-11-29
    • 2019-02-15
    • 2022-08-03
    相关资源
    最近更新 更多