Skip to main content
All docs
V24.2

PdfPkcs7Signature Class

Contains information about the PKCS#7 signature and methods used to verify it.

Namespace: DevExpress.Pdf

Assembly: DevExpress.Pdf.v24.2.Core.dll

NuGet Package: DevExpress.Pdf.Core

Declaration

public class PdfPkcs7Signature :
    PdfSignatureBase

The following members return PdfPkcs7Signature objects:

Remarks

The code snippet below obtains the PKCS#7 signature from a PDF document saved to the stream. Once the signature is obtained, the code checks attributes such as the time of signing, the signer’s identity, and authenticity of the signature.

using DevExpress.Pdf;
// ...
using(PdfDocumentSigner documentSigner = new PdfDocumentSigner(stream))
    // Obtain the PKCS#7 signature from the list of `PdfSignatureInfo` objects.
    foreach(var signature in documentSigner.GetSignatureInfo()) {
        var pkcs7 = documentSigner.GetPdfPkcs7Signature(signature.FieldName);
       // Obtain the PKCS#7 signature certificate.
        var certificate = pkcs7.GetSignatureCertificate();
       // Check wheter the signature is valid.
        bool isValid = pkcs7.VerifySignature();
        // Verify the signature certificate info.
        string issuerName = certificate.IssuerName.Name;
        bool isCertificateValid = certificate.Verify();
        // Verify the time of signing.
        var timeStamp = pkcs7.GetTimeStampDate();
        bool isTimeStampValid = pkcs7.VerifyTimeStamp();
    }

Call the PdfPkcs7Signature.CheckCertificateRevocation method to obtain information about signature certificate revocation based on Online Certificate Status Protocol (OCSP) and Certificate Revocation List (CRL) responses. Call the PdfDocumentSigner.VerifyLtv method to obtain Long Term Validation (LTV) records about the state of the signature certificate.

Inheritance

Object
PdfSignatureBase
PdfPkcs7Signature
See Also