Цифровая подпись с отметкой времени в 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-файле

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

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

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

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

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

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

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

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

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

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

Вопрос: Что такое настройки временной метки?

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

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

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

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

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

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

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

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

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

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

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

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

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