Цифровая подпись C#: Подписывайте PDF-файлы с помощью программирования

author avatar

2024-11-07 10:22:31 • Категория: Подписать PDF • Проверенные решения

Вам не нужен инструмент eSign для подписи цифровых документов. Но как вы можете это сделать? Вы можете использовать такие языки программирования, как C#. Итак, все, что вам нужно, - это IDE вместо специализированного инструмента eSign. Если вы программист, то, скорее всего, он у вас уже есть. Таким образом, вы можете сразу перейти к делу. Если вам интересно узнать о цифровой подписи C#, продолжайте читать.

Не волнуйтесь, если вы не программист. Мы также предоставили альтернативный инструмент Wondershare PDFelement, который очень удобен в использовании!

Часть 1. Как добавить поле заверенной подписи в PDF-файл с помощью цифровой подписи C#

Прежде чем вы сможете подписать PDF-файл с помощью C#, вам сначала нужно добавить поле для подписи. Это то место, где стоит подпись. Не волнуйся.

  1. Получите PDF-файл и страницу, используя этот код:

using (PDFDoc doc = new PDFDoc(docpath)) 
{ Page page1 = doc.GetPage(1); }
  1. Создайте текстовое поле, которое вы можете заблокировать с помощью функции разрешения полей. Используйте этот код:

TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
  1. Создайте поле подписи в формате PDF, используя его фрагмент кода:


 DigitalSignatureField certification_sig_field = doc.CreateDigitalSignatureField(cert_field_name);
SignatureWidget widgetAnnot = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);

  1. Предположим, вы подготовили внешний вид поля подписи. Добавьте его в PDF-файл, используя этот фрагмент кода:

Image img = Image.Create(doc, appearance_image_path); widgetAnnot.CreateSignatureAppearance(img);

Если вы не создавали внешний вид поля подписи, не стесняйтесь пропустить этот шаг.

  1. Подготовьте уровень разрешения на блокировку документа, который будет применен после процесса сертификации документа.

certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
  
  1. Теперь приготовьтесь заблокировать текстовое поле, которое вы создали на шаге 2.

string[] fields_to_lock = new string[1]; fields_to_lock[0] = "new_text_field"; certification_sig_field.SetFieldPermissions(DigitalSignatureField.FieldPermissions.e_include, fields_to_lock);
certification_sig_field.CertifyOnNextSave(private_key_file_path, keyfile_password);
  1. Сохраните документ, выбрав метод сохранения. PDFNet подпишет документ, используя предоставленную информацию.

doc.Save(outpath, 0);

Код должен выглядеть следующим образом:


    using (PDFDoc doc = new PDFDoc(docpath))
{
Page page1 = doc.GetPage(1);
TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
DigitalSignatureField certification_sig_field = doc.CreateDigitalSignatureField(cert_field_name);
SignatureWidget widgetAnnot = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);
Image img = Image.Create(doc, appearance_image_path); widgetAnnot.CreateSignatureAppearance(img);
certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
string[] fields_to_lock = new string[1]; fields_to_lock[0] = "asdf_test_field";
certification_sig_field.SetFieldPermissions(DigitalSignatureField.FieldPermissions.e_include, fields_to_lock);
certification_sig_field.CertifyOnNextSave(private_key_file_path, keyfile_password);
doc.Save(outpath, 0);
}

Часть 2. Как подписать PDF-файл с помощью цифровой подписи C#

Теперь, когда в PDF-файле есть поле для подписи, вы, наконец, можете подписать его. Выполните следующие действия, чтобы подписать его цифровой подписью C#:

  1. Извлеките неподписанное поле подписи, используя этот фрагмент кода:

using (PDFDoc doc = new PDFDoc(docpath))
{
Field found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(found_approval_field);
}
  1. Подготовьте подпись и обработчик подписей для подписания, используя этот фрагмент кода C#:

approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
  1. Выполните операцию поэтапного сохранения, чтобы сохранить документ с подписью.

doc.Save(outpath, SDFDoc.SaveOptions.e_incremental);

Окончательный код должен выглядеть следующим образом:


using (PDFDoc doc = new PDFDoc(docpath))
{
Field found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(found_approval_field);
approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
doc.Save(outpath, SDFDoc.SaveOptions.e_incremental);
}

Часть 3. Как проверить заверенную подпись в PDF-файле с помощью цифровой подписи C#

C# также позволяет вам проверить заверенную подпись. Однако вам нужен специальный API цифровой подписи, такой как API проверки цифровой подписи apryse Docs.

Почему вы должны это делать? Вам необходимо убедиться, что цифровые подписи являются подлинными и не поддельными. Это также гарантирует, что соглашение имеет обязательную юридическую силу.

Чтобы проверить цифровую подпись с помощью C#, выполните следующие действия:

  1. Выберите уровень безопасности для использования. Затем измените все параметры проверки, которые вы хотите изменить.

VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibility_and_archiving);
  1. Добавьте Trust root для хранения доверенных сертификатов, содержащихся в VerificationOptions.

opts.AddTrustedCertificate(in_public_key_file_path);
  1. Проверьте цифровую подпись.

PDFDoc.SignaturesVerificationStatus result = doc.VerifySignedDigitalSignatures(opts);

Полный код должен выглядеть следующим образом:


using (PDFDoc doc = new PDFDoc(in_docpath))
{
VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibility_and_archiving);
opts.AddTrustedCertificate(in_public_key_file_path);
PDFDoc.SignaturesVerificationStatus result = doc.VerifySignedDigitalSignatures(opts);
}

Вы можете получить следующие результаты:

  • SignaturesVerificationStatus.e_unsigned: В PDF-файле нет подписанных полей для подписи.
  • SignaturesVerificationStatus.e_failure: Произошел серьезный сбой в проверке, по крайней мере, одной подписи. Это не включает в себя вопросы подлинности.
  • SignaturesVerificationStatus.e_untrusted: Подлинность по крайней мере одной подписи не удалось проверить.
  • SignaturesVerificationStatus.e_verified: Все поставленные подписи в документе проверяются. Пожалуйста, обратите внимание, что неподписанные поля пропускаются.

Часть 4. Добавьте заверенную подпись в PDF-файл без использования C#: Используйте Wondershare PDFelement

Существует одна вопиющая проблема, связанная с использованием цифровой подписи C# для подписи PDF-файлов. Это слишком технично. Для этого нужно быть программистом или, по крайней мере, знать C#. Таким образом, для людей, не разбирающихся в технике, это невозможно сделать.

К счастью, есть более простые инструменты, которые вы можете использовать для подписи цифровых документов, одним из которых является Wondershare PDFelement. Wondershare PDFelement - такой универсальный инструмент, потому что им может воспользоваться любой желающий. Одним из качеств, которым он известен, является удобство в использовании. Действительно, это позволяет вам очень легко подписывать или даже собирать подписи.

подписание документа с помощью wondershare pdfelement

Пожалуйста, обратите внимание, что Wondershare PDFelement eSign соответствует юридическим и отраслевым стандартам, таким как ISO 27001 и HIPAA. Поэтому будьте уверены, что подписанные документы являются подлинными и надежно защищены. В нем даже есть встроенный верификатор сертификатов!

Но хватит предисловий. Позвольте нам рассказать вам о том, как использовать Wondershare PDFelement eSign.

Часть 4.1. Как отправить PDF-файлы для подписи

Это верно. Wondershare PDFelement позволяет вам не просто подписывать PDF-файлы. Это также позволяет вам собирать подписи от других людей. Благодаря этому вы можете заключать соглашения, даже если физически не находитесь вместе. Wondershare PDFelement также предоставляет уведомления, когда пользователь подписал документ. Таким образом, вы никогда не потеряете время зря и немедленно перейдете к следующему шагу.

Вот шаги по сбору подписей с помощью Wondershare PDFelement:

  1. Откройте соглашение, для которого требуются подписи других людей, в Wondershare PDFelement. Нажмите Защитить > Запросить eSign.
запросить ensign на wondershare pdflement
  1. Появится новое окно. Добавьте адреса электронной почты подписантов в поле "Добавить получателей".
  2. Выберите, подписывать ли документ первым или последним. Установите соответствующий флажок для вашего решения.
  3. В разделе "Настройки" установите порядок подписания и частоту обновлений.
настройка запроса подписи
  1. Нажмите Далее.
  2. Добавляйте и назначайте необходимые поля подписи с помощью перетаскивания.
добавление полей подписи
  1. Нажмите Отправить.

Часть 4.2. Как подписывать PDF-файлы с помощью Wondershare PDFelement

Теперь, что, если вы тот, кому нужно подписать документ? Как упоминалось выше, Wondershare PDFelement также позволяет вам это делать. И есть два метода. Вы можете подписать PDF-файл с помощью приложения или ссылки по электронной почте. Мы обсудим оба метода:

A. Подписывайте PDF-файлы с помощью приложения Wondershare PDFelement
  1. Откройте Wondershare PDFelement и войдите в свою учетную запись. Нажмите Соглашение на левой панели. Откройте соглашение с пометкой "Ждите меня".

открытие соглашения, требующего подписи
  1. Нажмите Подписать, чтобы перейти к полям подписи, в которых вам нужно расписаться.
  2. Выберите поле подписи, чтобы подписать его.
поиск нужных полей подписи
  1. Создайте свою подпись, набрав ее, нарисовав или загрузив изображение. Нажмите ОК.
создание цифровой подписи
  1. Нажмите кнопку "Войти" на панели уведомлений, которая появится внизу, затем нажмите "Далее".
подписание соглашения с помощью wondershare pdfelementа
B. Подписывайте PDF-файлы с помощью приложения Wondershare PDFelement

Предположим, вы находитесь вдали от дома. У тебя нет с собой ноутбука. Вы по-прежнему можете подписывать документы, используя кнопку подписать в уведомлении по электронной почте. Для этого следуйте этому набору инструкций:

  1. Откройте уведомление по электронной почте о запросе электронной подписи. Нажмите кнопку Подписать документ.

уведомление по электронной почте о запросе электронной подписи
  1. Установите флажок "Я согласен с лицензионным соглашением и политикой конфиденциальности", чтобы использовать электронные записи и подпись. Нажмите кнопку Продолжить.
согласие с лицензионным соглашением и политикой конфиденциальности
  1. Щелкните по полю подписи, которое вам нужно подписать. Если вы впервые подписываете подобные документы, создайте свою подпись. Вы можете напечатать, нарисовать или загрузить изображение.
создание цифровой подписи
  1. Нажмите кнопку Сохранить, чтобы применить подпись к документу и сохранить подпись для использования в будущем.

Заключение

Вы можете использовать C# для добавления цифровых подписей в PDF. Но это не значит, что вы должны изучать программирование только для того, чтобы делать это. Существуют альтернативные методы, многие из которых проще в исполнении.

Одним из лучших инструментов для подписи PDF-файлов является Wondershare PDFelement. Это PDF-решение, обладающее таким количеством полезных инструментов. Его соответствующая стандартам функция eSign позволяет вам легко подписывать PDF-файлы. Не только это, но и позволяет вам отправлять запросы на подпись другим пользователям. Таким образом, многие люди выбирают Wondershare PDFelement в качестве своего инструмента eSign Тем не менее, это то, что вам следует проверить.


Wondershare PDFelement - Интеллектуальные PDF-решения, упрощенные с помощью искусственного интеллекта

Преобразование стопок бумажных документов в цифровой формат с помощью функции распознавания текста для лучшего архивирования.

Различные бесплатные PDF-шаблоны, включая открытки с пожеланиями на день рождения, поздравительные открытки, PDF-планировщики, резюме и т.д.

Редактируйте PDF-файлы, как в Word, и легко делитесь ими по электронной почте, с помощью ссылок или QR-кодов.

ИИ-Ассистент (на базе ChatGPT) напишет, отредактирует и переведет ваш контент, чтобы сделать его прекрасным и особенным.

pdfelement


Скидка до 30%: выберите подходящий тарифный план для себя и своей команды.

PDFelement для физических лиц

Редактируйте, печатайте, преобразуйте, подписывайте и защищайте PDF-файлы на ПК.

Годовая подписка
$79,99
$55,99/год
$55,99/год
Подарок: Бесплатное Облачное хранилище документов объемом 20 ГБ.
PDFelement для команд

Командный план позволяет гибко настраивать, отслеживать и управлять лицензиями в разных группах и командах.

Годовая подписка
$129
$109/год
(1 пользователь)
Свяжитесь с нами, если вы хотите приобрести бизнес-план с доступом для более чем 10 пользователей.
author avatar

Василий Лебедев

Главный редактор

(Нажмите, чтобы оценить эту публикацию)

Общий рейтинг4.5(Участвовало 105 человек)

Главная страница > Подписать PDF > Цифровая подпись C#: Подписывайте PDF-файлы с помощью программирования
Повысьте свою производительность сегодня.