文檔中的數字簽名看起來類似於紙質簽名,但是,作為基於證書的電子簽名,它們包含加密形式的簽名者身份。證書由受信任和授權的證書頒發機構頒發。這些機構確定證書頒發給的人。這就是可以隨時驗證數字簽名文檔的原因。在本文中,我將向您展示如何使用 GroupDocs.Signature for .NET 以編程方式驗證 PDF、Word 和 Excel 文檔中的數字簽名API 與 C#。

驗證數字簽名 PDF 文檔的步驟

為了演示,我使用 PDF 文檔進行數字簽名驗證。但是,相同的代碼將適用於 MS Word 和 Excel 文檔格式。

  1. 下載 GroupDocs.Signature for .NET 或使用 NuGet.

  2. 在您的代碼中添加以下名稱空間。

using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
  1. 使用 Signature 類的實例加載數字簽名的 PDF 文檔。
using (Signature signature = new Signature("sample.pdf"))
{
    // 你的代碼在這裡。
}
  1. 實例化 DigitalVerifyOptions 對象並指定驗證選項。
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
    Comments = "Test comment"
};
  1. 調用 Signature 類實例的 Verify 方法並將 DigitalVerifyOptions 傳遞給它。
// 驗證文件簽名
VerificationResult result = signature.Verify(options);
  1. 檢查來自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 的更多信息。