ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
デジタル署名は、署名者の身元を認証し、文書の完全性を保証するために使用される数学的アルゴリズムです。 それはドキュメントにリンクされた一意の識別子を作成し、署名者のみが知っている秘密鍵を使用して署名されます。 デジタル署名された文書の真正性を確認するために、受信者は公開鍵を使用して署名を復号し、その有効性を確認します。
この記事では、C#でQuestPDFおよびIronPDFライブラリを使用してPDFドキュメントにデジタル署名を追加する方法を比較します。 どちらのライブラリも、デジタル署名機能を含むPDF操作のための強力な機能を提供しています。
デジタル署名は、ドキュメントの内容が改ざんされていないことを保証し、署名者の身元を証明します。 これは、従来の署名と比べてより高いレベルのセキュリティを提供します。 デジタル署名は多くの国で法的拘束力を持ち、契約、合意書、その他の法的文書で一般的に使用されています。
始める前に、C#と.NET Frameworkの基本的な理解があることを確認してください。 両方をインストールする必要がありますクエストPDF以下のコンテンツを日本語に翻訳してください:IronPDF. QuestPDFはNuGetからインストールでき、IronPDFはIronPDFのウェブサイトまたはNuGetパッケージマネージャーを通じてダウンロードできます。
デジタル署名も用意する必要があります。もしない場合、新しい署名の作成を支援してくれるリソースが数多くあります。
では、これら二つのライブラリがPDFドキュメントにデジタル署名を適用するタスクをどのように処理するかについて、詳しく見ていきましょう。
QuestPDF は、包括的なレイアウトエンジンを利用した流暢なAPIで複雑なレイアウトを作成し、PDFドキュメントを生成することに焦点を当てたオープンソースライブラリです。PDFの操作にはあまり向いていませんが、他のツールと組み合わせてPDFの署名に使用することができます。 これは、ユーザーがPDFのドキュメント構造を簡単に調べることができるコンパニオンアプリが付属しており、コードの再コンパイルを必要とせずにライブドキュメントのプレビューを提供するホットリロード機能を利用します。
IronPDFは、PDFドキュメントの生成、操作のための強力な機能を提供する堅牢な.NETライブラリです。PDFドキュメントに署名する. .NET開発者向けに、包括的で使いやすいソリューションを求めて設計されています。 IronPDFを使用すると、簡単にPDFドキュメントを暗号化する, 追加注釈, HTMLをPDFに変換する、コンテンツを抽出、その他!
QuestPDFはネイティブでデジタル署名をサポートしていません。 ただし、他のライブラリと組み合わせることができます(BouncyCastleやPdfSharpのように)この機能のために。 QuestPDFでドキュメントを生成した後、PDF署名ツールを提供するライブラリを使用して署名することができます。iTextSharp、ただし、QuestPDFライブラリ自体ではPDF署名を扱っていません。
それは、PDF暗号化の形で他の基本的なPDFセキュリティ形式を提供し、さらには高度なPDF作成およびPDF文書を設計する能力を備えているため、過度な装飾なしで基本的なPDFタスクを処理できるPDFライブラリを探している人にとって、依然として実行可能な選択肢となり得ます。
IronPDF は、デジタル証明書で PDF を署名するためのシンプルな API を提供します。 次のコードは、どのように適用するかを示しますデジタル署名IronPDFを使用してPDFファイルに
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
public class Program
{
static void Main(string[] args)
{
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
}
}
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
public class Program
{
static void Main(string[] args)
{
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
}
}
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Public Class Program
Shared Sub Main(ByVal args() As String)
Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
Dim cert As New X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable)
Dim sig = New PdfSignature(cert)
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
End Sub
End Class
このコードは、IronPDFとX.509証明書を使用してPDFドキュメントにデジタル署名する方法を示しています。 まず、既存のPDFを読み込みます(invoice.pdf)PdfDocumentオブジェクトに変換する。 次に、それは.pfxファイルから証明書をロードします。(IronSoftware.pfx)パスワードを提供することによって(Passw0rd)必要に応じて証明書の秘密鍵をエクスポートできるようにするには、フラグ X509KeyStorageFlags.Exportable を設定します。
次に、読み込まれた証明書を使用して PdfSignature オブジェクトが作成されます。 この署名がPDFドキュメントに適用され、実質的に署名されます。 最後に、署名されたPDFが新しいファイルとしてsigned.pdfに保存されます。 このプロセスは、PDFが安全に署名され、その真正性と完全性が検証されることを保証します。
IronPDFは、デジタル署名を検証する簡単な方法も提供します。 VerifyPdfSignatures メソッドを呼び出して、ドキュメント内の署名の有効性を確認できます。
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("signed_test_document.pdf");
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
Console.WriteLine("The digital signature is valid.");
}
else
{
Console.WriteLine("The digital signature is invalid or missing.");
}
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("signed_test_document.pdf");
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
Console.WriteLine("The digital signature is valid.");
}
else
{
Console.WriteLine("The digital signature is invalid or missing.");
}
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("signed_test_document.pdf")
Private isValid As Boolean = pdf.VerifyPdfSignatures()
If isValid Then
Console.WriteLine("The digital signature is valid.")
Else
Console.WriteLine("The digital signature is invalid or missing.")
End If
このメソッドは、ドキュメント内のすべての署名が有効である場合はtrueを返し、署名が無効または欠落している場合はfalseを返します。
使いやすさ:IronPDFは、QuestPDFと比べてPDFに署名するためのAPIが非常に簡単です。 QuestPDFはデジタル署名をネイティブでサポートしておらず、外部ライブラリを必要とします。(例:BouncyCastle)この機能のために。 これに対して、IronPDFにはPDFの署名と検証のための組み込みメソッドがあり、デジタル署名を実装するのがより簡単です。
証明書管理: 両方のライブラリは証明書と連携できますが、IronPDFは組み込みメソッドを通じて直接扱います。(例:SignWithFile)、プロセスを簡素化します。 さらに、QuestPDF では提供されていないすべての署名の権限を指定することもできます。 数行のコードでIronPDFを使用してPDF文書に署名します。
デジタル署名の検証: IronPDFは使いやすい方法を提供しています(VerifyPdfSignatures)PDF内のデジタル署名の有効性を確認するために、QuestPDFはこの機能がなく、署名の検証には外部ライブラリに依存しています。
ライセンスとコスト: QuestPDFはオープンソースのライブラリで、無料で使用できます。 これはデジタル署名サポートのような高度な機能を欠くという代償が伴います。 IronPDFは開発用に無料で使用でき、それ以外にさまざまな価格帯を提供しています。商業ライセンス購入する前に試用してください。
要約すると、QuestPDFは複雑なレイアウトのPDF作成に優れていますが、デジタル署名のネイティブサポートがなく、この機能にはBouncyCastleのような外部ライブラリが必要です。 対照的に、IronPDFはデジタル署名の署名と検証のための統合ソリューションを提供し、よりシンプルで効率的なプロセスを実現します。
組み込みの完全なPDFソリューションを必要とする開発者向けデジタル署名機能、IronPDFは、幅広い選択肢を持つより良い選択です。機能, 広範なドキュメントなど。 ただし、QuestPDFはPDF生成のための強力なオープンソースの選択肢として残っていますが、デジタル署名には追加の複雑さが必要です。 最終的な決定はプロジェクトのニーズと望ましいシンプルさのレベルに依存します。
10 の .NET API 製品 オフィス文書用