Adobe Sign的Pdf签名验证

问题描述

我有一个由Adobe Sign签名的pdf文件。但是,我无法使用ABCPdf验证/验证签名。我想我为此错过了根证书。如何找到Adobe Sign的根证书。我拥有所有其他提供商(例如Digicert,Global sign)的根证书。此外,所有其他签名提供者都可以正常工作。

if ((signature.Validate(collection)) && (!signature.IsModified))
        {
            isValid = true;
        }
        try
        {
            isValid = signature.Validate();
        }
        catch (WebSupergoo.ABCpdf11.Internal.PDFException)
        {
            return ESignedStatus.SignedTempered;
        }

        var certs = signature.GetCertificates();

        if (!signature.IsTrusted)
            return ESignedStatus.SignedUnverified;
        else if (!isValid)
            return ESignedStatus.SignedTempered;

解决方法

我相信你的答案在这里: https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/1-methods/validate.htm

Adobe Reader 如何在没有证书的情况下验证 PDF 文档 文件?

您可能会发现 Adob​​e Reader 不需要证书列表 文件来验证 PDF 文档。这是因为 Adob​​e Reader 可能会使用 几个内置的公钥基础设施层次结构来认证 PDF 文件:

认证文件服务 (CDS) 是一个信任层次结构 返回 Adob​​e Root 证书颁发机构 (Adobe Root CA)。土坯 批准的信任列表 (AATL) 是一个额外的 CA 证书列表 Adobe Reader 可能会定期从 Adob​​e 下载(对于 Adob​​e Reader/Acrobat 9 或更高版本)。 Windows 证书存储区。这是 仅当 Windows 数字签名集成在 Acrobat,自 Acrobat 9 以来一直不是默认设置。为了 以与 Adob​​e Reader 相同的方式验证 PDF 文档,您需要 使用它使用的相同证书。这可以通过以下方式轻松实现 将可信身份从 Adob​​e Reader 导出为 .cer 格式 证书文件。 (注:CDS 和 AATL 证书通常不在 默认情况下您的 Windows 证书存储。)。

然后需要将这些放置在 Windows 证书存储中。为了 他们需要信任他们需要在 Trusted 文件夹之一中 - 受信任的人或受信任的根证书颁发机构。不必 比如说,将项目添加到这些文件夹 - 特别是后者 - 是一个 大不了,你必须非常小心,以确保你知道你是什么

Windows 证书存储可以通过使用访问 System.Security.Cryptography.X509Certificates.X509Store(示例 下面)。

要从 Acrobat / Acrobat Reader 导出它: Show Signature Properties

Show Signer's Certificates

Export