チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.XLS for Java»保護»Java:Excel ファイルのデジタル署名情報を取得する方法
2024-05-13

Java:Excel ファイルのデジタル署名情報を取得する方法

Spire.XLS for Java は、Excel ファイルのデジタル署名を追加および削除するための Workbook.addDigitalSignature() メソッドと Workbook.removeAllDigitalSignatures() メソッドを提供しています。この記事では、Java アプリケーション(Java8)で Excel ファイルがデジタル署名されているかどうかを検出しデジタル署名に関する情報を取得する方法を紹介します。

Spire.XLS for Java をインストールします

まず、Spire. XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>14.4.4</version>
    </dependency>
</dependencies>

Excel ファイルがデジタル署名されているかどうかを検出する

Spire.XLS for Java の Workbook.isDigitallySigned() メソッドを使用して、Excel ドキュメントがデジタル署名されているかどうかを確認できます。

手順

  • Workbook インスタンスを作成し、Workbook.loadFromFile() メソッドを使用してサンプル Excel ドキュメントを読み込みます。
  • Workbook.isDigitallySigned() メソッドを使用して、ワークブックがデジタル署名されているかどうかを判断します。
  • 結果を出力します。
  • Java
import com.spire.xls.*;

public class CheckDigitalSignatureExcel {
    public static void main(String[] args) throws Exception {

        // Workbookのインスタンスを作成します
        Workbook workbook = new Workbook();

        // Excelドキュメントを読み込みます
        workbook.loadFromFile("サンプル.xlsx");

        // Excelドキュメントがデジタルに署名されているかどうかを検出します
        Boolean signature = workbook.isDigitallySigned();

        // 結果を出力します
        if (signature) {
            System.out.println("ドキュメントは署名されています");
        }
        else
        {
            System.out.println("ドキュメントは署名されていません");
        }

    }
}

Java:Excel ファイルのデジタル署名情報を取得する方法

Excel ファイルのデジタル署名詳細を取得する

Spire.XLS for Java の Workbook.getDigitalSignatures() メソッドを使用して、Excel ドキュメントのデジタル署名詳細を取得できます。

手順

  • Workbook インスタンスを作成し、Workbook.loadFromFile() メソッドを使用してサンプル Excel ドキュメントを読み込みます。
  • Workbook.getDigitalSignatures() メソッドを使用して、デジタル署名のリストを取得します。
  • IDigitalSignature オブジェクトのメソッドを使用して、デジタル署名の詳細を取得します。
  • Java
import com.spire.xls.*;
import com.spire.xls.core.interfaces.IDigitalSignature;
import com.spire.xls.core.interfaces.IDigitalSignatures;

import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.Date;

public class getSignatureInfoExcel {
    public static void main(String[] args) throws Exception {

        // Workbookのインスタンスを作成します
        Workbook workbook = new Workbook();

        // Excelドキュメントを読み込みます
        workbook.loadFromFile("サンプル.xlsx");

        // デジタル署名のコレクションを取得します
        IDigitalSignatures signatures = workbook.getDigitalSignatures();

        // デジタル署名の詳細情報を取得します
        for (IDigitalSignature digitalSignature : (Iterable) signatures) {
            X509Certificate info = digitalSignature.getX509Certificate();
            PrivateKey privateKey = digitalSignature.getPrivateKey();
            String comment = digitalSignature.getComments();
            Date date = digitalSignature.getSignTime();

            // Excelデジタル署名の結果を出力します
            System.out.println("署名証明書:" + info + "\n" +
                    "署名コメント:" + comment + "\n" +
                    "署名日時:" + date + "\n" +
                    "秘密鍵:" + privateKey + "\n");
        }
    }
}

Java:Excel ファイルのデジタル署名情報を取得する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 253 times