无法使用iText验证PDF esig/dss签名

无法使用iText验证PDF esig/dss签名,pdf,cryptography,itext,signature,Pdf,Cryptography,Itext,Signature,我有esig/dss图书馆签署的PDF文件。我可以在Acrobat Reader中看到这个信号。当我想用iText和BouncyCastle验证它时,我遇到了异常: 2.16.840.1.101.3.4.2.1withRSA Signature not available 我在Fedora上使用Oracle JDK 1.8.0112,使用无限加密技术,iText-2.0.8.jar和BouncyCastlebcprov-jdk16-139.jar 当我使用以下响应在我的环境中选择可用的消息摘要

我有esig/dss图书馆签署的PDF文件。我可以在Acrobat Reader中看到这个信号。当我想用iText和BouncyCastle验证它时,我遇到了异常:

2.16.840.1.101.3.4.2.1withRSA Signature not available
我在Fedora上使用Oracle JDK 1.8.0112,使用无限加密技术,
iText-2.0.8.jar
和BouncyCastle
bcprov-jdk16-139.jar

当我使用以下响应在我的环境中选择可用的消息摘要时:

我得到:

Alias: "OID.2.16.840.1.101.3.4.2.1" -> "SHA-256"
因此,它在我的JDK中可用

为什么不提供RSA签名的
2.16.840.1.101.3.4.2.1

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

这些版本都很古老,特别是itext 2.0.8已于2008年初发布。PAdES规范于2009年首次发布,并在pdf签名中引入了大量更改和添加内容。Esig/dss基本上是作为这些更改和添加的第一个实现而引入的


因此,您一定要考虑更新以支持当前标准。 请分享一个示例文件。尽管如此,我刚刚认识到您提到了“iText-2.0.8.jar”和“bcprov-jdk16-139.jar”。这些版本都是古老的,从那时起,有许多与签名相关的标准发生了变化,甚至是新引入的。另一方面,Esig/dss是最新的,尤其针对新标准。所以,更新,更新,更新!我会回答的。