数字签名的XFA表格

我想以编程方式签署在Adobe Livecycle(它是XFA表单)中创建的PDF文档。

我知道用于操纵PDF的iText库,但我还没有找到任何如何签名的例子。

也许它还没有得到支持。 你知道其他任何可以做到这一点的Java库吗? 或者你知道如何签名吗?

我知道,我的问题类似于这个问题 ,但我不需要使用iText。

非常感谢您的帮助!

这是一个小例子,展示了如何使用XmlDSig进行签名:

PdfReader reader =new PdfReader(src); FileOutputStream os =new FileOutputStream(dest); PdfStamper stamper = PdfStamper.createXmlSignature(reader, os); XmlSignatureAppearance appearance = stamper.getXmlSignatureAppearance(); appearance.setXmlLocator(new XfaXmlLocator(stamper)); appearance.setXpathConstructor(new XfaXpathConstructor(XfaXpathConstructor.XdpPackage.Datasets)); ExternalSignature signature =new PrivateKeySignature(pk, digestAlgorithm,"BC"); //use signXmlDSig or signXades MakeXmlSignature.signXmlDSig(appearance, signature, chain); 

您也可以使用XAdES进行签名,但之后您将无法在Adobe软件中validation签名,因为我认为Adobe不支持XAdES(如果我错了,请纠正我)。