Цифровая подпись с отметкой времени в 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-файле
Вопрос: Какова цель цифровой подписи с отметкой времени?
Ответ: Цифровая подпись с отметкой времени добавляет к 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, вызвав процесс создания подписи несколько раз. Каждая подпись будет иметь свою собственную временную метку.