如何使用 GroupDocs.Signature for Java 实现数字签名加载和签名

介绍

在当今的数字时代,确保文档的真实性和完整性对于金融、法律和医疗保健等各个领域都至关重要。无论您是在线签署合同还是管理敏感数据,使用数字签名都可以简化流程并确保安全。本教程将指导您使用 GroupDocs.Signature for Java 实现数字签名加载和文档签名。

您将学到什么:

  • 从证书存储区加载数字签名。
  • 使用已加载的证书对文档进行数字签名。
  • 通过集成 GroupDocs.Signature 优化您的 Java 应用程序。

让我们深入了解开始所需的先决条件!

先决条件

在实现本教程中讨论的功能之前,请确保您具备以下条件:

  • 所需的库和版本:

    • GroupDocs.Signature 适用于 Java 版本 23.12 或更高版本。
  • 环境设置要求:

    • 确保您的开发环境已安装 JDK(Java 开发工具包)。
  • 知识前提:

    • 熟悉Java编程。
    • 对数字证书及其在安全中的作用有基本的了解。

为 Java 设置 GroupDocs.Signature

首先,您需要将 GroupDocs.Signature 集成到您的项目中。您可以使用 Maven 或 Gradle 来完成此操作,也可以直接下载该库。

使用 Maven

将以下依赖项添加到您的 pom.xml 文件:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-signature</artifactId>
    <version>23.12</version>
</dependency>

使用 Gradle

将其包含在您的 build.gradle 文件:

implementation 'com.groupdocs:groupdocs-signature:23.12'

直接下载

或者,从下载最新版本 GroupDocs.Signature Java 版本.

许可证获取步骤

  • 免费试用: 从免费试用开始探索功能。
  • 临时执照: 如果您需要扩展测试能力,请获取临时许可证。
  • 购买: 考虑购买长期使用的许可证。

基本初始化和设置

要初始化 GroupDocs.Signature,请创建一个实例 Signature 班级:

import com.groupdocs.signature.Signature;

// 使用文档路径初始化签名对象
Signature signature = new Signature("path/to/your/document.pdf");

实施指南

让我们将实现分解为两个主要功能:加载数字签名和签署文档。

功能 1:从证书存储加载数字签名

此功能演示如何使用 GroupDocs.Signature for Java 从证书存储区加载数字签名。

逐步实施

1.导入所需的类

首先导入必要的类:

import com.groupdocs.signature.domain.signatures.DigitalSignature;
import java.util.ArrayList;
import java.util.List;

2.创建 LoadDigitalSignatures 类

实现从证书存储区加载数字签名的方法:

public class LoadDigitalSignatures {
    public List<DigitalSignature> run() {
        List<DigitalSignature> signatures = new ArrayList<>();
        try {
            // 从“我的”证书存储区加载数字签名。
            List<DigitalSignature> signaturesFromStore = DigitalSignature.loadDigitalSignatures(StoreName.My);
            signatures.addAll(signaturesFromStore);
        } catch (Exception e) {
            System.out.println("Error loading certificates: " + e.getMessage());
        }
        return signatures;
    }
}

3. 解释

  • 参数: StoreName.My 指定要使用的证书存储。
  • 返回值: 已加载的数字签名列表。

功能2:使用数字签名签署文档

一旦您有了数字签名,您就可以使用这些证书来签署文件。

逐步实施

1.导入所需的类

import com.groupdocs.signature.Signature;
import com.groupdocs.signature.domain.signatures.DigitalSignature;
import com.groupdocs.signature.options.sign.DigitalSignOptions;
import java.io.File;
import java.security.KeyStore;

2.创建SignDocumentWithDigital类

实现使用数字签名对文档进行签名的方法:

public class SignDocumentWithDigital {
    public void run(String documentPath) {
        // 加载数字签名。
        List<DigitalSignature> signatures = new LoadDigitalSignatures().run();
        
        int signatureNumber = 0;
        for (DigitalSignature digitalSignature : signatures) {
            signatureNumber++;
            String outputFilePath = new File("YOUR_OUTPUT_DIRECTORY\