Digitální podpisy v dokumentech vypadají podobně jako papírové podpisy, ale jako elektronické podpisy založené na certifikátu obsahují identitu podepisujícího v zašifrované podobě. Certifikáty vydávají důvěryhodné a autorizované certifikační autority. Tato oprávnění identifikují osobu, které jsou certifikáty vydány. Proto lze digitálně podepsané dokumenty kdykoli ověřit. V tomto článku vám ukážu, jak programově ověřit digitální podpis v dokumentech PDF, Word a Excel pomocí GroupDocs.Signature for .NET API s C#.

Kroky k ověření digitálně podepsaného dokumentu PDF

Pro demonstraci používám dokument PDF pro ověření digitálního podpisu. Stejný kód však bude fungovat pro formáty dokumentů MS Word a Excel.

  1. Stáhněte si GroupDocs.Signature for .NET nebo jej nainstalujte pomocí NuGet.

  2. Přidejte do svého kódu následující jmenné prostory.

using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
  1. Načtěte digitálně podepsaný dokument PDF pomocí instance třídy Signature.
using (Signature signature = new Signature("sample.pdf"))
{
    // Váš kód je zde.
}
  1. Vytvořte instanci objektu DigitalVerifyOptions a zadejte možnosti ověření.
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
    Comments = "Test comment"
};
  1. Zavolejte metodu Verify instance třídy Signature a předejte jí DigitalVerifyOptions.
// ověřit podpisy dokumentů
VerificationResult result = signature.Verify(options);
  1. Zkontrolujte výsledky ověření z objektu VerificationResult.
if (result.IsValid)
{
    Console.WriteLine("\nDocument was verified successfully!");
}
else
{
    Console.WriteLine("\nDocument failed verification process.");
}

Kompletní kód

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"
    };
    // ověřit podpisy dokumentů
    VerificationResult result = signature.Verify(options);
    if (result.IsValid)
    {
        Console.WriteLine("\nDocument was verified successfully!");
    }
    else
    {
        Console.WriteLine("\nDocument failed verification process.");
    }
}

Můžete tak určit, zda digitální podpis v dokumentu PDF splňuje zadaná kritéria či nikoli. Nakonec můžete dokument označit jako platný nebo neplatný. Přečtěte si více o GroupDocs.Signature for .NET API zde.