ドキュメントのデジタル署名は紙ベースの署名に似ていますが、証明書ベースの電子署名であるため、暗号化された形式で署名者のIDが含まれています。証明書は、信頼できる認証された認証局によって発行されます。これらの当局は、証明書の発行先を特定します。これが、デジタル署名されたドキュメントをいつでも検証できる理由です。この記事では、[** GroupDocs.Signature for]を使用して、** PDF Word 、および Excel **、ドキュメントのデジタル署名をプログラムで検証する方法を紹介します。 .NET ](https://products.groupdocs.com/signature/net) ** API C#

デジタル署名されたPDFドキュメントを確認する手順

デモンストレーションでは、デジタル署名の検証にPDFドキュメントを使用しています。ただし、同じコードがMSWordおよびExcelドキュメント形式で機能します。

1。_GroupDocs.Signature for .NET _をダウンロードするか、[NuGet](https://www.nuget.org/ packages / GroupDocs.Signature /) 。

**2。**コードに次の名前空間を追加します。

using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

3。Signature クラスのインスタンスを使用してデジタル署名されたPDFドキュメントをロードします。

using (Signature signature = new Signature("sample.pdf"))
{
    // あなたのコードはここにあります。
}

4。_DigitalVerifyOptions_オブジェクトをインスタンス化し、検証オプションを指定します。

DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
    Comments = "Test comment"
};

5。Signature_class’インスタンスのVerify _メソッドを呼び出し、_DigitalVerifyOptions_を渡します。

// ドキュメントの署名を確認する
VerificationResult result = signature.Verify(options);

6。_VerificationResult _オブジェクトからの検証結果を確認します。

if (result.IsValid)
{
    Console.WriteLine("\nDocument was verified successfully!");
}
else
{
    Console.WriteLine("\nDocument failed verification process.");
}

完全なコード

using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

using (Signature signature = new Signature("sample.pdf"))
{
    DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
    {
        Comments = "Test comment"
    };
    // ドキュメントの署名を確認する
    VerificationResult result = signature.Verify(options);
    if (result.IsValid)
    {
        Console.WriteLine("\nDocument was verified successfully!");
    }
    else
    {
        Console.WriteLine("\nDocument failed verification process.");
    }
}

したがって、PDFドキュメントのデジタル署名が指定された基準を満たしているかどうかを判断できます。最後に、ドキュメントを有効または無効としてマークできます。 GroupDocs.Signature for .NET APIの詳細については、こちら をご覧ください。