Podpisy cyfrowe w dokumentach wyglądają podobnie do podpisów papierowych, jednak jako podpisy elektroniczne oparte na certyfikacie zawierają tożsamość osoby podpisującej w postaci zaszyfrowanej. Certyfikaty wydawane są przez zaufane i autoryzowane Urzędy Certyfikacji. Organy te identyfikują osobę, której wydawane są zaświadczenia. Dzięki temu dokumenty podpisane cyfrowo można w każdej chwili zweryfikować. W tym artykule pokażę, jak programowo zweryfikować podpis cyfrowy w dokumentach PDF, Word i Excel przy użyciu interfejsu API GroupDocs.Signature for .NET w języku C#.

Kroki, aby zweryfikować dokument PDF podpisany cyfrowo

Do demonstracji używam dokumentu PDF do weryfikacji podpisu cyfrowego. Jednak ten sam kod będzie działał w formatach dokumentów MS Word i Excel.

  1. Pobierz GroupDocs.Signature for .NET lub zainstaluj go za pomocą NuGet.

  2. Dodaj następujące przestrzenie nazw w swoim kodzie.

using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
  1. Załaduj dokument PDF podpisany cyfrowo, korzystając z instancji klasy Signature.
using (Signature signature = new Signature("sample.pdf"))
{
    // Twój kod trafia tutaj.
}
  1. Utwórz instancję obiektu DigitalVerifyOptions i określ opcje weryfikacji.
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
    Comments = "Test comment"
};
  1. Wywołaj metodę Verify instancji klasy Signature i przekaż jej DigitalVerifyOptions.
// zweryfikować podpisy dokumentów
VerificationResult result = signature.Verify(options);
  1. Sprawdź wyniki weryfikacji z obiektu VerificationResult.
if (result.IsValid)
{
    Console.WriteLine("\nDocument was verified successfully!");
}
else
{
    Console.WriteLine("\nDocument failed verification process.");
}

Kompletny kod

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

W ten sposób można określić, czy podpis cyfrowy w dokumencie PDF spełnia określone kryteria, czy nie. Na koniec możesz oznaczyć dokument jako ważny lub nieważny. Przeczytaj więcej o GroupDocs.Signature for .NET API tutaj.