Le firme digitali nei documenti sono simili alle firme cartacee, tuttavia, essendo firme elettroniche basate su certificati, contengono l’identità del firmatario in forma crittografata. I certificati sono emessi da Autorità di Certificazione fidate e autorizzate. Queste autorità identificano la persona a cui vengono rilasciati i certificati. Ecco perché i documenti firmati digitalmente possono essere verificati in qualsiasi momento. In questo articolo, ti mostrerò come verificare a livello di codice la firma digitale in PDF, Word e Excel, documenti utilizzando GroupDocs.Signature for .NET API con C#.

Passaggi per verificare il documento PDF firmato digitalmente

A scopo dimostrativo, sto utilizzando un documento PDF per la verifica della firma digitale. Tuttavia, lo stesso codice funzionerà per i formati di documenti MS Word ed Excel.

1. Scarica GroupDocs.Signature for .NET o installalo utilizzando [NuGet](https://www.nuget.org/ pacchetti/GroupDocs.Signature/).

2. Aggiungi i seguenti spazi dei nomi nel tuo codice.

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

3. Carica un documento PDF firmato digitalmente utilizzando un’istanza della classe Signature.

using (Signature signature = new Signature("sample.pdf"))
{
    // Il tuo codice va qui.
}

4. Crea un’istanza dell’oggetto DigitalVerifyOptions e specifica le opzioni di verifica.

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

5. Chiama il metodo Verify dell’istanza _Signature _class’ e passa _DigitalVerifyOptions _ad esso.

// verificare le firme dei documenti
VerificationResult result = signature.Verify(options);

6. Verifica i risultati della verifica dall’oggetto VerificationResult.

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

Codice 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"
    };
    // verificare le firme dei documenti
    VerificationResult result = signature.Verify(options);
    if (result.IsValid)
    {
        Console.WriteLine("\nDocument was verified successfully!");
    }
    else
    {
        Console.WriteLine("\nDocument failed verification process.");
    }
}

Pertanto, è possibile determinare se la firma digitale nel documento PDF soddisfa o meno i criteri specificati. Infine, puoi contrassegnare il documento come valido o non valido. Maggiori informazioni su GroupDocs.Signature per .NET API qui.