文档中的数字签名看起来类似于纸质签名,但是,作为基于证书的电子签名,它们以加密形式包含签名者的身份。证书由受信任和授权的证书颁发机构颁发。这些机构识别证书颁发给的人。这就是为什么可以随时验证数字签名文件的原因。在本文中,我将向您展示如何使用 GroupDocs.Signature for 以编程方式验证 PDF、Word 和 Excel、documents 中的数字签名.NET 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;
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 这里。