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.
-
Pobierz GroupDocs.Signature for .NET lub zainstaluj go za pomocą NuGet.
-
Dodaj następujące przestrzenie nazw w swoim kodzie.
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
- Załaduj dokument PDF podpisany cyfrowo, korzystając z instancji klasy Signature.
using (Signature signature = new Signature("sample.pdf"))
{
// Twój kod trafia tutaj.
}
- Utwórz instancję obiektu DigitalVerifyOptions i określ opcje weryfikacji.
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
Comments = "Test comment"
};
- Wywołaj metodę Verify instancji klasy Signature i przekaż jej DigitalVerifyOptions.
// zweryfikować podpisy dokumentów
VerificationResult result = signature.Verify(options);
- 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.