当 pdf 由假名证书进行数字签名时,签名信息未正确显示

Posted

技术标签:

【中文标题】当 pdf 由假名证书进行数字签名时,签名信息未正确显示【英文标题】:The signature info is not being displayed correctly, when the pdf is digitally signed by a Pseudonym Certificate 【发布时间】:2014-10-27 21:36:54 【问题描述】:

背景:

我编写了一个 java 程序,使用 itext 库来使用 ikey 对 PDF 进行签名。

我有两个 ikey,一个带有通用名称证书,另一个带有假名证书。

说明:

当我在 Acrobat Reader 中打开由 Common Name 证书签名的 pdf 时,它会显示蓝丝带,表示它是有效的签名,并且在签名面板中显示“Certified by Jane能源部”。一切都很完美。

但是,如果证书是假名证书,则会显示“Certified by %s”。 尽管蓝丝带和验证信息都正确显示。(不允许附加图像,所以把截图放在这里:http://imgur.com/lpvOKLz)

问题:

    这是 Acrobat Reader 的问题吗,如果 pdf 由假名证书签名,它无法显示正确的“Certified by”信息? 欢迎提出任何建议。

【问题讨论】:

你能分享有问题的PDF吗? @mkl 非常感谢您查看此问题。我已将其发送到您的电子邮件 我查看了您的文件,在其签名中找不到任何错误;我也无法在 ISO 32000-1 中找到暗示此处可能禁止使用假名证书的提示。因此,我假设 Adob​​e Reader 签名状态显示代码只是忘记考虑假名签名的可能性(很可能是因为 Adob​​e 通常有针对特定人员的用例,而不是角色或功能)。可能伦纳德(布鲁诺最有可能问的人)知道的更多。您可能想尝试使用签名字典的 Name 条目。这个我没查过 【参考方案1】:

我以前看过%s 认证。参见my book about digital signatures 图 2.23。我引用:

果然,Carol 之后 Alice 的认证签名无效 尝试使用第二个认证签名来签署文件, 但输出有点奇怪。在签名面板中,我们看到 “Certified by %s”而不是“Certified by Carol”,并且有一个 镜子而不是红十字。这些情况比较 异国情调,应该避免。让我们专注于现实生活中的例子,以及 将签名与表单填写相结合。

这句话是关于一些与 ISO 规范/PAdES 冲突的实验结果。您可能发现了另一个冲突。

在我的书中,我描述了有两个证书签名的情况。这没有意义,因为明确禁止添加两个证书签名。规范中还暗示认证签名始终是第一个签名,尽管如果不是,Adobe Reader 不会抱怨(还)。

我可以很容易地想象,使用假名证书也是 Adob​​e Reader 不知道该怎么做的奇特案例之一。匿名签署文件是什么意思? Adobe Reader 应该选择谁作为授权签名者?

我以前见过 %s 的事实告诉我(甚至没有看你的 PDF)%s 是来自 Adob​​e Reader 的工件。我在 iText 中编写了一些签名功能,我确信我们不会将 %s 放在那里。

【讨论】:

匿名签署文件是什么意思? Adobe Reader 应该选择谁作为授权签名者? - 不是匿名的,有一个笔名可能确实为相关各方所熟知。 我很想知道是否可以使用 all 假名证书或仅 OP 提到的证书来复制它。我会问 Adob​​e 的人。 很高兴有机会说声谢谢@BrunoLowagie 你的书对我帮助很大。在这种特殊情况下,我使用两个由 Quovadis 颁发的假名证书进行了测试,并且行为是相同的。在我看来,Adobe Reader 喜欢验证签名,但在显示该字段时不知道如何处理假名证书。 好吧,您的问题已发送给 Adob​​e 的 PDF 架构师。您何时得到答案将取决于他目前是否正在旅行(他正在向全世界宣传 PDF)。通常,他会将我发给他的问题路由给负责该问题特定区域的工程师。我不记得他没有回答的问题。

以上是关于当 pdf 由假名证书进行数字签名时,签名信息未正确显示的主要内容,如果未能解决你的问题,请参考以下文章

Java 获取PDF数字签名证书信息

怎么在PDF文件中添加签名啊

由中间CA(链)签名的NGinx SSL证书认证

证书过期后的PDF数字签名验证

PDF签名证书的基本特征以及作用

ssl证书验证