首页 > 软件开发 > JAVA >

Java 获取PDF中的数字签名证书信息

来源:互联网 2023-03-16 19:10:50 322

PDF文档中可添加数字签名,在添加签名前,需要准备可信任签名证书。对文档中已有的签名,可验证书签是否有效。也可通过一定方法来获取数字签名或者签名证书信息。下面以Java代码示例展示如何读取签名的证书信息。va1办公区 - 实用经验教程分享!

工具/原料

  • IntelliJ IDEA (jdk 1.8.0)
  • 包含签名的PDF测试文档
  • Java PDF库:Free Spire.PDF for Java

Java代码

  • 1

    编辑代码前,按如下步骤导入jar:va1办公区 - 实用经验教程分享!

    下载库到本地,解压,找到lib文件下的jar文件。然后执行如下图方法手动导入。va1办公区 - 实用经验教程分享!

    Java 获取PDF中的数字签名证书信息va1办公区 - 实用经验教程分享!

    Java 获取PDF中的数字签名证书信息va1办公区 - 实用经验教程分享!

    Java 获取PDF中的数字签名证书信息va1办公区 - 实用经验教程分享!

  • 2

    完成以上步骤后,编辑如下代码:va1办公区 - 实用经验教程分享!

    import com.spire.pdf.*;va1办公区 - 实用经验教程分享!

    import com.spire.pdf.widget.PdfFormFieldWidgetCollection;

    va1办公区 - 实用经验教程分享!

    import com.spire.pdf.widget.PdfFormWidget;

    va1办公区 - 实用经验教程分享!

    import com.spire.pdf.widget.PdfSignatureFieldWidget;

    va1办公区 - 实用经验教程分享!

    public class GetCertificateInfo {

    va1办公区 - 实用经验教程分享!

    public static void main(String[] args) {

    va1办公区 - 实用经验教程分享!

    //实例化PdfDocument类的对象,并加载PDF文档

    va1办公区 - 实用经验教程分享!

    PdfDocument pdf = new PdfDocument();

    va1办公区 - 实用经验教程分享!

    pdf.loadFromFile("AddSignature.pdf");

    va1办公区 - 实用经验教程分享!

    //获取域集合

    va1办公区 - 实用经验教程分享!

    PdfFormWidget pdfFormWidget = (PdfFormWidget)pdf.getForm();

    va1办公区 - 实用经验教程分享!

    PdfFormFieldWidgetCollection pdfFormFieldWidgetCollection = pdfFormWidget.getFieldsWidget();

    va1办公区 - 实用经验教程分享!

    //遍历域

    va1办公区 - 实用经验教程分享!

    for (int i = 0; i pdfFormFieldWidgetCollection.getCount(); i )

    va1办公区 - 实用经验教程分享!

    {

    va1办公区 - 实用经验教程分享!

    //判定是否为签名域

    va1办公区 - 实用经验教程分享!

    if (pdfFormFieldWidgetCollection.get(i) instanceof PdfSignatureFieldWidget)

    va1办公区 - 实用经验教程分享!

    {

    va1办公区 - 实用经验教程分享!

    //获取签名域

    va1办公区 - 实用经验教程分享!

    PdfSignatureFieldWidget signatureFieldWidget = (PdfSignatureFieldWidget) pdfFormFieldWidgetCollection.get(i);

    va1办公区 - 实用经验教程分享!

    //获取签名证书信息

    va1办公区 - 实用经验教程分享!

    String certificateInfo = signatureFieldWidget.getSignature().getCertificate().toString();

    va1办公区 - 实用经验教程分享!

    System.out.println(certificateInfo);

    va1办公区 - 实用经验教程分享!

    }

    va1办公区 - 实用经验教程分享!

    }

    va1办公区 - 实用经验教程分享!

    }

    va1办公区 - 实用经验教程分享!

    }

    va1办公区 - 实用经验教程分享!

  • 3

    执行代码,获取证书信息:va1办公区 - 实用经验教程分享!

    Java 获取PDF中的数字签名证书信息va1办公区 - 实用经验教程分享!

  • 3此文章未经许可获取自百度经验
  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!va1办公区 - 实用经验教程分享!


    标签: JAVAPDF

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码