2012-12-20 150 views
0

我正在使用iText在PDF中应用数字签名。数字签名的PDF显示如下信息:“文档证书的有效性未知,作者无法验证,至少有一个签​​名有问题。”在顶部。签名PDF显示消息“文档的有效性未知”,iText

当我将证书添加到用于创建签名PDF的信任身份时,生成的签名PDF将显示“已签名且所有签名均有效”。

是否可以通过不向可信身份添加证书来解决此问题?

在此先感谢。

+0

不幸的是,您没有提供PDF示例来演示该问题。但要相信某些证书,您显然必须明确信任它或某些父母,父母,...证书并提供中间证书。有问题的签名者证书是否自签名或属于某个私人CA? – mkl

+0

而不是手动信任证书,它应该自动信任,它不应该显示有效性错误。签名者证书从verisign Inc.获得。 – Ramasamy

+0

如上所述,短语提供样本PDF。 – mkl

回答

1

显示消息有两个原因。

首先,它是您使用自签名证书或其他证书,其证书链不以根证书结尾,由验证应用程序信任的证书。

其次是签名参数设置不正确,Reader不知道它需要在Windows证书存储中查找证书。我不知道如何在iText中指定我的意思 - 在我们的SecureBlackbox中有一个属性。

+0

其实iText不是显示该消息的程序; iText本身并不提供UI。我假设显示该消息的组件是Adobe Reader。 'Orn是否指签名创建组件中的参数? – mkl

+0

@mkl是,验证时使用的存储类型实际上是在签名创建时指定的。以下是我们常见问题解答中的一篇文章,其中介绍了详细信息:http://www.eldos.com/security/articles/2992.php –

+0

经过Google搜索,看起来像严格执行Adobe Acrobat/Reader版本6。虽然我没有测试过。但是如果缺少中间证书确实是问题,那么原始海报最好考虑嵌入整个证书链。这不仅有助于Windows的Adobe程序版本,而且实际上还有任何体面的验证工具。不幸的是,他还没有提供样品签名来检查... – mkl

2

请仔细阅读http://itextpdf.com/book/digitalsignatures

第3.4节名为“如何获得一个绿色的对勾。”

简短版本:如果您希望显示绿色复选标记而不必手动安装根证书的PDF,则至少需要一个存储在物理设备上的私钥,例如硬件安全模块,硬件安全模块USB令牌或智能卡。

你有这样的钥匙吗?您是否要求您的CA获得CDS或AATL证书?

+0

感谢您的回复。 是的,我正在尝试使用由GlobalSign提供的CDS证书。 在下面的网址试图说明: https://www.globalsign.com/resources/installation-guide/pdf-signing-installation-guide.pdf – Ramasamy

+0

我的情况是,用户将签署的文件从任何地方。 使用从CA获得的iText和CDS证书在服务器端生成签名的PDF。 在这种情况下, 1.哪一个我需要使用USB token/HSM? 2.我在以下文章中红色 如果我使用USB令牌(SafeNet iKey4000)创建数字签名,每次签名时是否会要求输入密码? 页码88,http://itextpdf.com/book/digitalsignatures20121017.pdf 请指教。 – Ramasamy

+0

如果用户必须以自己的名字在各处签名,他们都需要拥有自己的私钥的自己的USB令牌。在这种情况下,纯粹的服务器端签名是不可能的。您始终需要使用签名者个人私钥的客户端软件。将私钥发送到服务器是不可能的(也是荒谬的)。 –

1

回复:有没有可能通过不向可信身份添加证书来解决这个问题?

答案:否,除非您切换到由Adobe信任的证书颁发机构授予的数字签名证书。

由于Adobe Reader不信任操作系统中的CA,因此这是Adobe的一个持续问题。 - 相反,Adobe有their own list

因此,要么:

  1. 你得到从Adobe名单上的公司之一,个人证书。
  2. 您在您的网站上发布贵组织的根证书,并向收件人提供如何让Adobe信任您的说明。 (如果您愿意,您的组织可以只有一个成员。)有关详细信息,请参阅下面的内容。
  3. 您告诉收件人如何单击Adobe签名工具栏以检查签名证书的详细信息(并忽略来自Adobe的可怕默认警告)。

在潮湿的签名世界,还有,你需要提供政府颁发的身份证明文件的复印件情况下,您只需登录的东西,和其他案件。不幸的是,在当前的数字签名领域,每签名需要附上您的驾驶执照副本。这根本不是现实。

一个常见而成功的答案是发布组织的所有组织签名者的根证书。请参阅AppleWells Fargo示例。

您可以使用来自受信任的CA的证书在SSL保护的页面上发布您的根证书。这将使业务合作伙伴对于相信组织的根证书确实来自您的组织感到放心。