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