Verificar Assinatura em Arquivo PDF

Verificar Se o Arquivo PDF Está Assinado Usando uma Assinatura

Para verificar se um arquivo PDF está assinado usando uma assinatura específica, use o método VerifySigned da classe PdfFileSignature. Este método requer o nome da assinatura e retorna verdadeiro se o PDF estiver assinado usando esse nome de assinatura. Também é possível verificar se um PDF está assinado, sem verificar com qual assinatura ele está assinado.

Verificando se um PDF Está Assinado com uma Assinatura Dada

O trecho de código a seguir mostra como verificar se o PDF está assinado usando uma assinatura dada.

public static void IsPdfSigned()
        {
            PdfFileSignature pdfSign = new PdfFileSignature();
            pdfSign.BindPdf(_dataDir + "DigitallySign.pdf");
            if (pdfSign.ContainsSignature())
                Console.WriteLine("Documento Assinado");
            pdfSign.Close();
        }

Verificando se um PDF está Assinado

Para determinar se um arquivo está assinado, sem fornecer o nome da assinatura, use o seguinte código.

 public static void IsPdfSignedWithGivenSignature()
        {
            PdfFileSignature pdfSign = new PdfFileSignature();
            pdfSign.BindPdf(_dataDir + "DigitallySign.pdf");
            if (pdfSign.VerifySigned("Signature1"))
            {
                Console.WriteLine("PDF Assinado");
            }
            //if (pdfSign.VerifySigned("Signature2"))
            //{
            //    Console.WriteLine("PDF Assinado");
            //}
        }

Verificar se a Assinatura é Válida

O método VerifySignature da classe PdfFileSignature permite que você valide uma assinatura específica. Este método requer o nome da assinatura como entrada e retorna verdadeiro se a assinatura for válida. O trecho de código a seguir mostra como validar uma assinatura.

public static void IsPdfSignatureValid()
        {
            PdfFileSignature pdfSign = new PdfFileSignature();
            pdfSign.BindPdf(_dataDir + "DigitallySign.pdf");
            if (pdfSign.VerifySignature("Signature1"))
            {
                Console.WriteLine("Signature Verified");
            }
        }