デジタル署名は、電子署名の一種で、デジタルドキュメントの真正性と整合性を確認するために使用できます。受信者は、デジタルドキュメントがどこから来たのか、署名後に第三者によって変更されていないかを確認できます。この記事では、C# で Spire.XLS for .NET を使用して、Excel ファイルにデジタル署名を追加または削除する方法を説明します。
Spire.XLS for .NET をインストールします
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
C# で Excel ファイルにデジタル署名を追加する
デジタル署名を追加することで、Excel ファイルの整合性を保護できます。デジタル署名が追加されると、ファイルは読み取り専用になり、さらなる編集を防ぎます。誰かがファイルを変更すると、デジタル署名は直ちに無効になります。
Spire.XLS for .NET は、Workbook クラスの AddDigitalSignature メソッドを提供しており、これを使用して Excel ファイルにデジタル署名を追加できます。手順は以下の通りです:
- Workbook クラスのインスタンスを初期化します。
- Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
- 指定された証明書 (.pfx) ファイルのパスと .pfx ファイルのパスワードを使用して、X509Certificate2 クラスのインスタンスを初期化します。
- DateTime クラスのインスタンスを初期化します。
- Workbook.AddDigitalSignature(X509Certificate2, string, DateTime) メソッドを使用してファイルにデジタル署名を追加します。
- Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
- C#
using Spire.Xls;
using Spire.Xls.Core.MergeSpreadsheet.Interfaces;
using System;
using System.Security.Cryptography.X509Certificates;
namespace AddSignatureInExcel
{
class Program
{
static void Main(string[] args)
{
// Workbookインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx");
// デジタル署名をファイルに追加
X509Certificate2 cert = new X509Certificate2("gary.pfx", "e-iceblue");
DateTime certtime = new DateTime(2020, 7, 1, 7, 10, 36);
IDigitalSignatures signature = workbook.AddDigitalSignature(cert, "e-iceblue", certtime);
// 結果ファイルを保存
workbook.SaveToFile("Excelに電子署名を追加.xlsx", FileFormat.Version2013);
workbook.Dispose();
}
}
}
C# で Excel ファイルからデジタル署名を削除する
Spire.XLS for .NET は、Workbook クラスの RemoveAllDigitalSignatures メソッドを提供しており、これを使用して Excel ファイルからデジタル署名を削除できます。手順は以下の通りです:
- Workbook クラスのインスタンスを初期化します。
- Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
- Workbook.RemoveAllDigitalSignatures() メソッドを使用してファイルからすべてのデジタル署名を削除します。
- Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
- C#
using Spire.Xls;
namespace DeleteSignatureInExcel
{
class Program
{
static void Main(string[] args)
{
// Workbookインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.LoadFromFile("Excelに電子署名を追加.xlsx");
// ファイル内の全てのデジタル署名を削除
workbook.RemoveAllDigitalSignatures();
// 結果ファイルを保存
workbook.SaveToFile("Excelから電子署名を削除.xlsx", FileFormat.Version2013);
workbook.Dispose();
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。