додати цифровий підпис до PDF C#

У цьому посібнику ми покажемо вам, як додати цифровий підпис до PDF-файлу на C#, включаючи необхідний код і кроки для початку. Незалежно від того, розробник ви чи користувач, цей посібник надасть вам інформацію, необхідну для додавання цифрового підпису до документа PDF у C#. Крім того, ми продемонструємо, як програмно перевірити PDF-файл із цифровим підписом у C#.

Бібліотека C# для цифрових підписів у форматі PDF

Щоб додати та перевірити цифрові підписи в PDF, ми будемо використовувати Aspose.PDF for .NET. Це потужна бібліотека для роботи з PDF-файлами для створення, редагування, перетворення та цифрового підпису PDF-документів. Крім того, ви можете отримати безкоштовну ліцензію, щоб підписувати свої PDF-файли без будь-яких обмежень.

Ви можете завантажити Aspose.PDF for .NET або встановити його за допомогою NuGet.

PM> Install-Package Aspose.PDF

Як додати цифровий підпис до PDF на C#

Нижче наведено кроки, щоб додати цифровий підпис до PDF-файлу на C#.

  • Створіть об’єкт класу Document та ініціалізуйте його шляхом до документа PDF.
  • Створіть об’єкт класу PdfFileSignature та ініціалізуйте його об’єктом класу Document.
  • Створіть об’єкт класу PKCS7 та ініціалізуйте його шляхом до сертифіката та паролем.
  • Створіть та ініціалізуйте об’єкт класу DocMDPSignature для типу підпису MDP.
  • Створіть прямокутник для розміщення підпису.
  • Підпишіть документ PDF за допомогою методу PdfFileSignature.Certify().
  • Збережіть документ за допомогою методу PdfFileSignature.Save().

Код C# для додавання цифрового підпису до PDF

У наведеному нижче прикладі коду показано, як додати цифровий підпис до PDF-файлу на C#.

// Завантажити документ 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);
		// Встановити зовнішній вигляд підпису
		signature.SignatureAppearance = @"aspose-logo.png";
		// Створіть будь-який із трьох типів підпису
		signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
		// Збережіть PDF-файл із цифровим підписом
		signature.Save("Digitally Signed PDF.pdf");
	}
}

C# Цифровий підпис PDF за допомогою сервера часових позначок

Ви також можете додати цифровий підпис до документа PDF за допомогою сервера TimeStamp, надавши його деталі за допомогою класу TimestampSettings.

У наведеному нижче прикладі коду показано, як цифрово підписати PDF-документ за допомогою сервера TimeStamp у C#.

// Завантажити документ 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);
		// Створіть будь-який із трьох типів підпису
		signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
		// Збережіть вихідний PDF-файл
		signature.Save("Output.pdf");
	}
}

Перевірте PDF-файл із цифровим підписом у C#

Нижче наведено кроки для перевірки цифрового підпису в документі PDF.

  • Створіть об’єкт класу Document та ініціалізуйте його шляхом до документа PDF.
  • Створіть об’єкт класу PdfFileSignature та ініціалізуйте його об’єктом класу Document.
  • Доступ до всіх підписів документа PDF.
  • Перевірте дійсність підпису за допомогою методу PdfFileSignature.VerifySigned().

У наведеному нижче прикладі коду показано, як перевірити цифровий підпис у PDF за допомогою C#.

// Завантажити документ 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
					{
						// Робити щось
					}
				}
			}
		}
	}
}

Безкоштовна бібліотека цифрових підписів PDF

Ви можете отримати безкоштовну тимчасову ліцензію і додавати цифрові підписи до PDF-файлів без будь-яких обмежень.

Висновок

У цій статті ви дізналися, як додавати цифрові підписи до PDF-файлів у C#.NET. Крім того, ви бачили, як програмно перевіряти PDF-файли з цифровим підписом у C#. Ви можете просто встановити Aspose.PDF for .NET у своїх програмах і легко підписувати свої PDF-файли.

Схожі статті