Цифровая подпись с отметкой времени в PDF-файле
В этом уроке мы проведем вас через процесс цифровой подписи в PDF-файле с отметкой времени с помощью Aspose.PDF для .NET. Цифровая подпись с отметкой времени гарантирует подлинность и целостность документа, добавляя электронный отпечаток с отметкой времени.
Шаг 1: Предварительные условия
Прежде чем начать, убедитесь, что у вас есть следующие предварительные условия:
- Базовые знания языка программирования C#
- Установка Visual Studio на ваш компьютер
- Установлена библиотека Aspose.PDF для .NET
Шаг 2: Настройка среды
Чтобы начать работу, выполните следующие действия по настройке среды разработки:
- Откройте Visual Studio и создайте новый проект C#.
- Импортируйте необходимые пространства имен в ваш файл кода:
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, вызвав процесс создания подписи несколько раз. Каждая подпись будет иметь свою собственную временную метку.