Java iText:在可见签名上显示签名详细信息

Java iText:在可见签名上显示签名详细信息,java,pdf,itext,digital-signature,signing,Java,Pdf,Itext,Digital Signature,Signing,在当前的项目中,我使用itext和java签署pdf文档。我还能够创建一个可见的签名。但现在我需要自定义可见签名。可见签名必须包含签名者的姓名、电子邮件、原因和签名日期。我是否可以从证书中读取这些信息,并将其显示在可见的图章上?我尝试使用PdfTemplates,但没有找到引用证书数据的方法。我只能在可见签名中设置静态文本 换句话说:是否可以选择在可见戳记上显示哪些证书详细信息,而无需在pdftemplates中设置明确文本(使用对诸如timestamp、DN之类的证书详细信息的引用,而不是静态

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


换句话说:是否可以选择在可见戳记上显示哪些证书详细信息,而无需在pdftemplates中设置明确文本(使用对诸如timestamp、DN之类的证书详细信息的引用,而不是静态文本)?

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

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