Цифровая подпись с отметкой времени в PDF-файле

В этом уроке мы проведем вас через процесс цифровой подписи в PDF-файле с отметкой времени с помощью Aspose.PDF для .NET. Цифровая подпись с отметкой времени гарантирует подлинность и целостность документа, добавляя электронный отпечаток с отметкой времени.

Шаг 1: Предварительные условия

Прежде чем начать, убедитесь, что у вас есть следующие предварительные условия:

  • Базовые знания языка программирования C#
  • Установка Visual Studio на ваш компьютер
  • Установлена библиотека Aspose.PDF для .NET

Шаг 2: Настройка среды

Чтобы начать работу, выполните следующие действия по настройке среды разработки:

  1. Откройте Visual Studio и создайте новый проект C#.
  2. Импортируйте необходимые пространства имен в ваш файл кода:
using Aspose.Pdf;
using Aspose.Pdf.Forms;

Шаг 3: Цифровая подпись с отметкой времени

Первый шаг — выполнить цифровую подпись с временной меткой на файле PDF. Приведенный код показывает, как добиться этой подписи с помощью Aspose.PDF для .NET.

string dataDir = "YOUR DOCUMENTS DIRECTORY";
string pfxFile = "";
using (Document document = new Document(dataDir + @"DigitallySign.pdf"))
{
     using (PdfFileSignature signature = new PdfFileSignature(document))
     {
         PKCS7 pkcs = new PKCS7(pfxFile, "pfx_password");
         TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password");
         pkcs. TimestampSettings = timestampSettings;
         System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
         signature.Sign(1, "Reason for signing", "Contact", "Location", true, rect, pkcs);
         signature.Save(dataDir + "DigitallySignWithTimeStamp_out.pdf");
     }
}

Этот код загружает PDF-файл, создает цифровую подпись с временной меткой, используя PFX-файл (закрытый ключ) и указанные параметры временной метки. Затем подпись добавляется в PDF-файл и сохраняется с суффиксом “_вне”.

Пример исходного кода для цифровой подписи с отметкой времени с использованием Aspose.PDF для .NET

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENTS DIRECTORY";
string pfxFile = "";
using (Document document = new Document(dataDir + @"DigitallySign.pdf"))
{
	using (PdfFileSignature signature = new PdfFileSignature(document))
	{
		PKCS7 pkcs = new PKCS7(pfxFile, "pfx_password");
		TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // Имя пользователя/пароль можно не указывать.
		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(dataDir + "DigitallySignWithTimeStamp_out.pdf");
	}
}

Заключение

Поздравляем! Вы успешно выполнили цифровую подпись с временной меткой в файле PDF с помощью Aspose.PDF для .NET. В этом руководстве был рассмотрен пошаговый процесс от создания подписи до сохранения обновленного файла PDF. Теперь вы можете использовать эту функцию для добавления цифровых подписей с временной меткой в ваши файлы PDF.

Часто задаваемые вопросы по цифровой подписи с отметкой времени в PDF-файле

В: Какова цель цифровой подписи с отметкой времени?

A: Цифровая подпись с отметкой времени добавляет электронный отпечаток с отметкой времени к PDF-файлу, гарантируя подлинность и целостность документа на определенный момент времени.

В: Какие предварительные условия необходимы для начала этого урока?

A: Прежде чем начать, убедитесь, что у вас есть базовые знания языка программирования C#, установлены Visual Studio и библиотека Aspose.PDF для .NET.

В: Как мне настроить среду разработки?

A: Следуйте предоставленным инструкциям по настройке среды разработки, включая создание нового проекта C# в Visual Studio и импорт необходимых пространств имен.

В: Как добавить цифровую подпись с меткой времени в PDF-файл?

A: Приведенный пример кода демонстрирует, как загрузить PDF-файл, создать цифровую подпись с меткой времени, используя PFX-файл (закрытый ключ) и указанные настройки метки времени, добавить подпись в PDF-файл и сохранить обновленный файл.

В: Что такое PFX-файл и почему он используется в примере?

A: Файл PFX (Personal Exchange Format) содержит закрытый ключ и сертификат. Он используется здесь для обеспечения криптографической функциональности цифровых подписей. Убедитесь, что вы заменили заполнитель на ваш файл PFX и пароль.

В: Что такое TimestampSettings?

A: TimestampSettings определяет настройки сервера временных меток, используемого для добавления электронной временной метки к подписи. Он включает URL сервера временных меток и необязательные учетные данные пользователя.

В: Могу ли я использовать сервер временных меток, отличный от указанного в примере?

A: Да, вы можете использовать любой совместимый сервер временных меток. Замените URL и, если требуется, укажите соответствующие учетные данные пользователя вTimestampSettings объект.

В: Какова цель указания прямоугольника подписи?

A: Прямоугольник подписи определяет положение и размеры внешнего вида цифровой подписи на странице PDF. Отрегулируйте эти значения, чтобы расположить подпись по желанию.

В: Что произойдет, если сервер временных меток будет недоступен во время подписания?

A: Если сервер временных меток недоступен во время подписания, процесс может завершиться неудачей или занять больше времени. Убедитесь, что ваш сервер временных меток надежен и доступен.

В: Как проверить наличие временной метки в подписанном PDF-файле?

A: Вы можете изучить подписанный PDF-файл, используя предоставленный пример кода.TimestampSettings использованный вами при подписании, должен быть указан в сведениях о подписи.

В: Имеют ли цифровые подписи с временными метками юридическую силу?

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

В: Могу ли я добавить несколько цифровых подписей с временными метками в PDF-файл?

A: Да, вы можете добавить несколько цифровых подписей с временными метками в файл PDF, вызвав процесс создания подписи несколько раз. Каждая подпись будет иметь свою собственную временную метку.