dodaj podpis cyfrowy do PDF C#

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.

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

Podpisuj cyfrowo PDF w C#

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.

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:

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.

Powiązane artykuły