文檔中的數字簽名看起來類似於紙質簽名,但是,作為基於證書的電子簽名,它們包含加密形式的簽名者身份。證書由受信任和授權的證書頒發機構頒發。這些機構確定證書頒發給的人。這就是可以隨時驗證數字簽名文檔的原因。在本文中,我將向您展示如何使用 GroupDocs.Signature for .NET 以編程方式驗證 PDF、Word 和 Excel 文檔中的數字簽名API 與 C#。
驗證數字簽名 PDF 文檔的步驟
為了演示,我使用 PDF 文檔進行數字簽名驗證。但是,相同的代碼將適用於 MS Word 和 Excel 文檔格式。
-
下載 GroupDocs.Signature for .NET 或使用 NuGet.
-
在您的代碼中添加以下名稱空間。
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
- 使用 Signature 類的實例加載數字簽名的 PDF 文檔。
using (Signature signature = new Signature("sample.pdf"))
{
// 你的代碼在這裡。
}
- 實例化 DigitalVerifyOptions 對象並指定驗證選項。
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
Comments = "Test comment"
};
- 調用 Signature 類實例的 Verify 方法並將 DigitalVerifyOptions 傳遞給它。
// 驗證文件簽名
VerificationResult result = signature.Verify(options);
- 檢查來自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 的更多信息。