Podpisy cyfrowe służą do zabezpieczania dokumentów PDF przed udostępnieniem ich osobom trzecim. Cyfrowe podpisywanie dokumentu PDF umożliwia wykrycie manipulacji poprzez weryfikację dokumentu za pomocą podpisu cyfrowego. Aby programowo zabezpieczyć dokumenty PDF za pomocą podpisów cyfrowych, w tym artykule dowiesz się, jak dodawać podpisy cyfrowe w plikach PDF w języku C#. Dowiesz się również, jak w C# weryfikować podpisy cyfrowe w plikach PDF.
- Interfejs API języka C# do cyfrowego podpisywania plików PDF
- Dodaj podpisy cyfrowe w dokumentach PDF za pomocą języka C#
- Podpisuj cyfrowo dokumenty PDF za pomocą serwera Timestamp w języku C#
- Zweryfikuj podpis cyfrowy w PDF za pomocą C#
C# .NET API do dodawania podpisów cyfrowych w PDF
Aby dodawać i weryfikować podpisy cyfrowe w dokumentach PDF, użyjemy Aspose.PDF for .NET API, które jest potężnym interfejsem API do manipulacji plikami PDF do tworzenia, edytowania, konwertowania i cyfrowego podpisywania dokumentów PDF. Możesz pobrać Aspose.PDF for .NET lub zainstalować go przy użyciu jednego z następujących sposobów w Visual Studio:
Menedżer pakietów NuGet
Konsola menedżera pakietów
PM> Install-Package Aspose.PDF
Dodaj podpis cyfrowy do pliku PDF w języku C#
Poniżej przedstawiono kroki, aby podpisać dokument PDF za pomocą Aspose.PDF for .NET.
- Utwórz obiekt klasy Document i zainicjuj go ścieżką dokumentu PDF.
- Utwórz obiekt klasy PdfFileSignature i zainicjuj go obiektem klasy Document.
- Utwórz obiekt klasy PKCS7 i zainicjuj go ścieżką do certyfikatu oraz hasłem.
- Utwórz i zainicjuj obiekt klasy DocMDPSignature dla typu sygnatury MDP.
- Utwórz Prostokąt do umieszczenia podpisu.
- Podpisz cyfrowo dokument PDF za pomocą metody PdfFileSignature.Certify().
- Zapisz dokument metodą PdfFileSignature.Save().
Poniższy przykładowy kod pokazuje, jak dodać podpis cyfrowy do dokumentu PDF w języku C#.
// Załaduj dokument PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
// Ustaw wygląd podpisu
signature.SignatureAppearance = @"aspose-logo.png";
// Utwórz dowolny z trzech typów podpisu
signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
// Zapisz plik PDF podpisany cyfrowo
signature.Save("Digitally Signed PDF.pdf");
}
}
C# Dodaj podpis cyfrowy do pliku PDF przy użyciu serwera znaczników czasu{#Dodaj podpis cyfrowy do pliku PDF za pomocą serwera znaczników czasu w CSharp}
Możesz również dodać podpis cyfrowy do dokumentu PDF za pomocą serwera TimeStamp, podając jego szczegóły za pomocą klasy TimestampSettings. Poniższy przykładowy kod pokazuje, jak cyfrowo podpisać dokument PDF za pomocą serwera sygnatury czasowej w języku C#.
// Załaduj dokument PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
PKCS7 pkcs = new PKCS7("certificate.pfx", "WebSales"); // Use PKCS7/PKCS7Detached objects
TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // User/Password can be omitted
pkcs.TimestampSettings = timestampSettings;
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
// Utwórz dowolny z trzech typów podpisu
signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
// Zapisz wyjściowy plik PDF
signature.Save("Output.pdf");
}
}
Zweryfikuj podpisany cyfrowo plik PDF w języku C#
Poniżej przedstawiono kroki weryfikacji podpisu cyfrowego w dokumencie PDF:
- Utwórz obiekt klasy Document i zainicjuj go ścieżką dokumentu PDF.
- Utwórz obiekt klasy PdfFileSignature i zainicjuj go obiektem klasy Document.
- Uzyskaj dostęp do wszystkich podpisów dokumentu PDF.
- Sprawdź poprawność podpisu metodą PdfFileSignature.VerifySigned().
Poniższy przykładowy kod pokazuje, jak zweryfikować podpis cyfrowy w formacie PDF przy użyciu języka C#.
// Załaduj dokument PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
IList<string> sigNames = signature.GetSignNames();
if (sigNames.Count > 0) // Any signatures?
{
if (signature.VerifySigned(sigNames[0] as string)) // Verify first one
{
if (signature.IsCertified) // Certified?
{
if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
{
// Zrób coś
}
}
}
}
}
}
Wypróbuj Aspose.PDF for .NET za darmo
Możesz uzyskać bezpłatną licencję tymczasową, aby spróbować użyć Aspose.PDF for .NET.
Wniosek
W tym artykule nauczyłeś się, jak dodawać podpisy cyfrowe do plików PDF w języku C#.NET. Ponadto widziałeś, jak programowo w C# weryfikować pliki PDF podpisane cyfrowo. Możesz po prostu zainstalować Aspose.PDF for .NET w swoich aplikacjach i płynnie podpisywać cyfrowo pliki PDF.