iText:在可见签名上显示签名细节

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iText:在可见签名上显示签名细节相关的知识,希望对你有一定的参考价值。

在当前项目中,我使用itext和java签署pdf文档。我也能够创建一个可见的签名。但现在我需要自定义可见签名。可见签名必须包含签名者的姓名,电子邮件,原因和签名日期。我可以以某种方式从证书中读取此信息以将其显示在可见图章上吗?我尝试使用PdfTemplates,但我没有找到一种方法来参考证书数据。我只能在可见签名中设置静态文本。

换句话说:是否可以选择在可见图章上显示哪些证书详细信息,而无需在pdftemplates中设置明确的文本(使用对时间戳,DN,甚至是静态文本等证书详细信息的引用)?

答案

是和否:您可以使用PdfSignatureAppearance.setLayer2Text()在签名可视化中自由设置文本(您甚至可以在PdfSignatureAppearance.getLayer(2)上设计整个外观),但不会对变量进行评估。

因此,您必须自己检查证书并提取信息以放入您将使用setLayer2Text设置的字符串中。对于某些细节,您可以使用iText辅助类,例如CertificateInfo方法getIssuerFields()getSubjectFields();对于其他人,你需要自己的方法。但是您可以使用这些方法的代码作为您需要实现的方法的模板。

以上是关于iText:在可见签名上显示签名细节的主要内容,如果未能解决你的问题,请参考以下文章

Java IText7 PDF 签名问题 - 文档自签名后已被更改或损坏

带有iText的外部签名PDF

使用外部服务和iText签署PDF

使用 itext 进行数字签名验证不起作用

使用iTExt 5.3获取pdf签名

iText签名OcspClient无法获得OCSP