首页 > 解决方案 > Java Itext 数字签名消息签名有效

问题描述

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

标签: itextdigital-signature

解决方案


在评论中你澄清:

来自 https://www.pdfill.com/document_sign.html

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

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

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

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

// Java
appearance.setAcro6Layers(false);

// C#
appearance.Acro6Layers = false;

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


推荐阅读