【问题标题】:How to digitally sign PDF files with XFA forms using iText如何使用 iText 对带有 XFA 表单的 PDF 文件进行数字签名
【发布时间】:2013-09-26 13:48:28
【问题描述】:

iText 发行说明提到,iText 版本 5.4.2 和 5.4.3 支持使用 XFA 表单签署 PDF:

http://itextpdf.com/history/?branch=54&node=542

http://itextpdf.com/history/?branch=54&node=543

是否有关于如何在 Java 中进行签名的文档?

我对使用 XFA 签署 PDF 尤其感兴趣,其中有一个准备好的签名字段。

【问题讨论】:

    标签: itext digital-signature xfa


    【解决方案1】:

    这是一个展示如何使用 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 进行签名,但是您将无法在 Adob​​e 软件中验证签名,因为我认为 Adob​​e 不支持 XAdES(如果我错了,请纠正我)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2021-05-21
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多