Les signatures numériques dans les documents ressemblent aux signatures papier, cependant, étant des signatures électroniques basées sur des certificats, elles contiennent l’identité du signataire sous forme cryptée. Les certificats sont délivrés par des autorités de certification fiables et autorisées. Ces autorités identifient la personne à qui les certificats sont délivrés. C’est pourquoi les documents signés numériquement peuvent être vérifiés à tout moment. Dans cet article, je vais vous montrer comment vérifier par programmation la signature numérique dans PDF, Word et Excel, documents en utilisant GroupDocs.Signature for .NET API avec C#.

Étapes pour vérifier un document PDF signé numériquement

Pour la démonstration, j’utilise un document PDF pour la vérification de la signature numérique. Cependant, le même code fonctionnera pour les formats de document MS Word et Excel.

1. Téléchargez GroupDocs.Signature for .NET ou installez-le à l’aide de NuGet.

2. Ajoutez les espaces de noms suivants dans votre code.

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

3. Chargez un document PDF signé numériquement à l’aide d’une instance de la classe Signature.

using (Signature signature = new Signature("sample.pdf"))
{
    // Votre code va ici.
}

4. Instanciez l’objet DigitalVerifyOptions et spécifiez les options de vérification.

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

5. Appelez la méthode Verify de l’instance _Signature _class’ et transmettez-lui _DigitalVerifyOptions.

// vérifier les signatures des documents
VerificationResult result = signature.Verify(options);

6. Vérifiez les résultats de vérification de l’objet VerificationResult.

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

Code complet

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"
    };
    // vérifier les signatures des documents
    VerificationResult result = signature.Verify(options);
    if (result.IsValid)
    {
        Console.WriteLine("\nDocument was verified successfully!");
    }
    else
    {
        Console.WriteLine("\nDocument failed verification process.");
    }
}

Ainsi, vous pouvez déterminer si la signature numérique dans le document PDF répond ou non aux critères spécifiés. Enfin, vous pouvez marquer le document comme valide ou invalide. En savoir plus sur l’API GroupDocs.Signature for .NET ici.