Las firmas digitales en los documentos se parecen a las firmas en papel; sin embargo, al ser firmas electrónicas basadas en certificados, contienen la identidad del firmante en forma cifrada. Los certificados son emitidos por Autoridades de Certificación confiables y autorizadas. Estas autoridades identifican a la persona a quien se emiten los certificados. Es por eso que los documentos firmados digitalmente se pueden verificar en cualquier momento. En este artículo, le mostraré cómo verificar mediante programación la firma digital en PDF, Word y Excel, documentos usando GroupDocs.Signature para .NET API con C#.

Pasos para verificar un documento PDF firmado digitalmente

Para demostración, estoy usando un documento PDF para la verificación de firma digital. Sin embargo, el mismo código funcionará para los formatos de documentos de MS Word y Excel.

1. Descargue GroupDocs.Signature para .NET o instálelo usando [NuGet](https://www.nuget.org/ paquetes/GroupDocs.Signature/).

2. Agregue los siguientes espacios de nombres en su código.

using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

3. Cargue un documento PDF firmado digitalmente usando una instancia de la clase Signature.

using (Signature signature = new Signature("sample.pdf"))
{
    // Su código va aquí.
}

4. Cree una instancia del objeto DigitalVerifyOptions y especifique las opciones de verificación.

DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
    Comments = "Test comment"
};

5. Llamar al método Verify de la instancia de _Signature _class’ y pasarle _DigitalVerifyOptions _.

// verificar firmas de documentos
VerificationResult result = signature.Verify(options);

6. Verifique los resultados de verificación del objeto VerificationResult.

if (result.IsValid)
{
    Console.WriteLine("\nDocument was verified successfully!");
}
else
{
    Console.WriteLine("\nDocument failed verification process.");
}

Código completo

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"
    };
    // verificar firmas de documentos
    VerificationResult result = signature.Verify(options);
    if (result.IsValid)
    {
        Console.WriteLine("\nDocument was verified successfully!");
    }
    else
    {
        Console.WriteLine("\nDocument failed verification process.");
    }
}

Por lo tanto, puede determinar si la firma digital en el documento PDF cumple o no con los criterios especificados. Finalmente, puede marcar el documento como válido o no válido. Lea más sobre GroupDocs.Signature para .NET API aquí.