はじめに
デジタル署名は、情報の送信者によって生成される一連の数字であり、他人による偽造は不可能です。そのため、デジタル署名は情報の真正性を検証する有効な証拠となります。デジタル署名は、電子商取引や電子契約などの領域で広く利用されています。Excelでは、身元の検証や文書の完全性の確保のためにデジタル署名を追加することができます。以下では、Javaプログラムを使用してExcelファイルにデジタル署名を追加および削除する方法について説明します。
ツール
- IntelliJ IDEA 2018 (jdk 1.8.0)
- Free Spire.XLS for Java (無料)
Jarの導入
- Free Spire.XLS for Javaをダウンロードして解凍します。
- IDEAで新しいプロジェクトを作成します。
- 「File」>「Project Structure」>「Modules」>「Dependencies」をクリックします。
- 「+」の「JARs or Directories」を選択します。
- 「Spire.xls.jar」を見つけてプロジェクトにインポートします。
デジタル署名の追加
Spire.XLS for Java ライブラリで提供される Workbook クラスの addDigitalSignature(CertificateAndPrivateKey certAndPrivateKey, String comments, Date signTime)メソッドは、Excel ファイルへのデジタル署名の追加をサポートします。 サンプルコードは次のとおりです。
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.digital.CertificateAndPrivateKey;
import java.util.Date;
public class AddDigitalSignature {
public static void main(String []args) throws Exception {
//Workbook インスタンスを作成します
Workbook workbook=new Workbook();
// Excelファイルを読み込みます
workbook.loadFromFile("sample.xlsx");
//ファイルにデジタル署名を追加します
CertificateAndPrivateKey cap = new CertificateAndPrivateKey(String fileName, String password);
workbook.addDigitalSignature(CertificateAndPrivateKey certAndPrivateKey, String comments, Date signTime);
//結果ファイルを保存します
workbook.saveToFile("AddDigitalSignature.xlsx", ExcelVersion.Version2013);
}
}
デジタル署名の削除
Spire.XLS for Java は、Excel ファイルからのデジタル署名の削除をサポートする Workbook クラスの removeAllDigitalSignatures()メソッドを提供します。 サンプルコードは次のとおりです。
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
public class RemoveDigitalSignature {
public static void main(String []args) throws Exception {
//Workbook インスタンスを作成します
Workbook workbook = new Workbook();
//Excelファイルを読み込みます
workbook.loadFromFile("AddDigitalSignature.xlsx");
//ファイルからすべてのデジタル署名を削除します
workbook.removeAllDigitalSignatures();
//結果ファイルを保存します
workbook.saveToFile("RemoveDigitalSignature.xlsx", ExcelVersion.Version2013);
}
}