Itext 已签名的PDF显示消息;“该文件的有效性未知”;,文字

Itext 已签名的PDF显示消息;“该文件的有效性未知”;,文字,itext,digital-signature,Itext,Digital Signature,我正在使用iText应用PDF格式的数字签名。数字签名的PDF在顶部显示类似“文档证书的有效性未知。无法验证作者。至少有一个签名有问题”的消息 当我将证书添加到用于创建签名PDF的信任标识时,生成的签名PDF显示“已签名且所有签名均有效” 是否可以通过不向受信任的身份添加证书来解决此问题 提前感谢。显示此消息有两个原因 首先,您使用的是自签名证书或其他证书,其证书链不以根证书结尾,由验证应用程序信任 第二种情况是,签名参数设置不正确,读卡器不知道需要在Windows证书存储中查找证书。我不知道如

我正在使用iText应用PDF格式的数字签名。数字签名的PDF在顶部显示类似“文档证书的有效性未知。无法验证作者。至少有一个签名有问题”的消息

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

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


提前感谢。

显示此消息有两个原因

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

第二种情况是,签名参数设置不正确,读卡器不知道需要在Windows证书存储中查找证书。我不知道如何在iText中指定我的意思-在我们的SecureBlackbox中有一个属性

请阅读

第3.4节命名为“如何获得绿色复选标记”

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


你有这样的钥匙吗?您是否向CA索要CD或AATL证书?

Re:是否可以通过不向受信任的身份添加证书来解决此问题

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

这是Adobe一直存在的问题,因为Adobe Reader不信任操作系统中的CA。-相反,Adobe已经做到了

因此,要么:

  • 您可以从Adobe列表中的一家公司获得个人证书
  • 您可以在网站上发布组织的根证书,并向收件人提供有关如何告知Adobe信任您的说明。(如果您愿意,您的组织可以只有一名成员。)有关此方面的详细信息,请参阅下文
  • 您告诉收件人如何单击Adobe签名工具栏来检查签名证书的详细信息(并忽略Adobe发出的可怕的默认警告)
  • 在湿签名世界中,有些情况下,您只需在某物上签名,有些情况下,您需要提供政府签发的身份证件副本。不幸的是,在当前的数字签名世界中,似乎每个签名都需要附有驾驶执照副本。这根本不是现实

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


    您可以在受SSL保护的页面上发布您的根证书,其中包含来自受信任CA的证书。这将使业务合作伙伴能够放心地相信您的组织的根证书确实来自您的组织。

    遗憾的是,您没有提供示例PDF来演示此问题。但是要信任某个证书,您显然必须明确地信任它或某个父级、greatparent。。。it证书,并提供中级证书。有问题的签名者证书是自签名的还是属于某个私有CA?它应该自动信任证书,而不是手动信任证书,并且不应该显示有效性错误。签名者证书是从verisign Inc.获得的。如上所述,短语supply a sample PDF.BTW,您希望Adobe Reader立即接受签名,因为“签名者证书是从verisign Inc.获得的”-仅使用verisign的证书是不够的,它必须是为与Adobe Reader一起使用而显式生成的。因此,请提供一个示例签名(或有问题的证书,而不是私钥!)以允许检查;iText本身不提供UI。我假设显示该消息的组件是Adobe ReaderOrn您是指签名创建组件中的参数吗?@mkl是的,验证期间使用的存储类型实际上是在创建签名时指定的。在我们的FAQ中有一篇文章描述了细节:谷歌搜索了一段时间后,这似乎只在AdobeAcrobat/Reader版本6之前严格执行过。不过,我还没有对此进行测试。但是如果丢失中间证书真的是个问题,原始的海报最好考虑嵌入整个证书链。这不仅有助于有关Windows的Adobe程序版本,实际上还有助于任何像样的验证工具。不幸的是,他还没有提供一个样本签名检查…谢谢你的答复。是的,我正在尝试使用GlobalSign提供的CD证书。我的情况是,用户将在任何地方对文档进行签名。使用从CA获得的iText和CDS证书在服务器端生成已签名的PDF。在此场景中,1。我需要使用哪一个USB令牌/HSM?2.我在下面的文章中提到,如果我使用USB令牌(SafeNet iKey4000)创建数字签名,它是否会在每次签名时询问密码?在第88页,请给出建议。如果用户必须在任何地方以自己的名义签名,他们都需要自己的USB令牌,其中包含自己的私钥。在这种情况下,纯服务器端签名是不可能的。您将始终需要客户端上使用签名者个人私钥的软件。将私钥发送到服务器是不可能的(而且是荒谬的)。如果您想要纯服务器端签名,则需要在服务器上安装HSM。此HSM将包含您的私钥,因此当用户登录您时