【问题标题】:Java Itext digital signature message signature validJava Itext 数字签名消息签名有效
【发布时间】:2021-01-19 06:59:05
【问题描述】:

我正在使用 java Itext 生成数字签名。 pdfsignatureappearence 我可以修改 lication 字体和签名有效的原因,我什至可以得到绿色的勾号。 当我们打开 pdf 时,我们会看到消息签名在数字签名之上有效。 我想自定义此消息 是来自 itext 还是 Adob​​e 等 pdf 查看器? 请建议我们如何自定义此消息?此文本出现的方式和位置? 签名在数字签名之上有效

【问题讨论】:

  • “签名在数字签名之上有效” - 您的意思是过时/弃用的更改签名外观中的文本? A 这些消息按照当前标准是无效的,尽管它们在某些国家/地区的使用仍然很普遍。尽量不要使用它们。 B 它们曾经是动态的,直到很明显这为伪造打开了大门。
  • images.app.goo.gl/HEpYsVZVJwyFeXmr9 考虑这张图片,我想删除或修改签名顶部的“签名有效”文本

标签: itext digital-signature


【解决方案1】:

在评论中你澄清:

考虑到这张图片,我想删除或修改签名顶部的“签名有效”文本

如果您在当前 iText 5 版本生成的签名中获取此文本,这意味着您实际上明确要求获取它。

Adobe Acrobat 仅在文档​​内显示签名有效性符号和文本,堆叠在签名外观上用于具有特定结构的签名。 Adobe Acrobat 本身自第 6 版以来默认不再使用此结构。此外,PDF 规范中没有提到这些结构(仅在旧的专有 Adob​​e 文档中)。当前的 PDF 规范实际上禁止在文档区域显示验证结果。更多详情请阅读this answer

iText 5 仅在您要求 Acrobat 6 之前的层时生成具有该特定结构的签名,例如对于PdfSignatureAppearance appearance

// Java
appearance.setAcro6Layers(false);

// C#
appearance.Acro6Layers = false;

要使 Adob​​e Acrobat 不显示“签名有效”(或所选语言的相应文本),请将 Acro6Layers 设置为 true 或根本不要触摸它,因为 true 是默认设置。

【讨论】:

  • 感谢您的快速回复。我将 acro6layer 设置为 false 以便在签名上获得绿色刻度线。我想使用 itext5 在签名中显示 TICK 标记。我们还有其他选择吗?请告知。
  • 如果你想要一个特定的签名外观,你可以通过检索第 2 层 (PdfTemplate layer2 = appearance.getLayer(2)) 自己绘制它,然后在上面放置任何你想要的东西,参见。 this answerthis one,尤其是任意数量的绿色刻度。
  • @bigler 如果此答案对您有所帮助,请将其标记为已接受,即单击其左上角的勾号。
猜你喜欢
  • 1970-01-01
  • 2014-03-26
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多