Робота з цифровими підписами

Цифровий підпис – це технологічна реалізація електронних підписів на реєстраційні документи та автентифікувати підписника, щоб гарантувати, що документ не був модифікований, оскільки він підписаний. Кожен цифровий підпис унікальний для кожного підписника через протокол PKI, щоб генерувати як публічні, так і приватні ключі. Підписання документа цифрово означає створення підпису за допомогою приватного ключа реєстратора, де використовується математичний алгоритм для шифрування створеного хешу.

Aspose.Words дозволяє виявляти, підрахувати або перевірити існуючі цифрові підписи, а також додати новий підпис до вашого документа, щоб дізнатися будь-які налаштування в ньому. Ви також можете видалити всі цифрові підписи з документа. Використання DigitalSignatureUtil Клас роботи з цифровими підписами.

У статті описано, як зробити все вище, для перевірки автентичності та цілісності цифрового документа.

Формати

Aspose.Words дозволяє працювати з цифровими підписами на DOC, OOXML, і ODT документи і зареєструвати генерований документ у PDF або XPS Формат.

Обмеження цифрових сигналів

У таблиці нижче описано кілька обмежень, які ви можете зіткнутися при роботі з цифровими підписами через Aspose.Words, і деякі альтернативні варіанти.

Лімітація Альтернативний варіант
Втрата цифрових підписів на документ після завантаження та збереження його. Таким чином, обробка документа на сервер може призвести до втрати всіх цифрових підписів без повідомлення Перевірте, чи має документ цифрові підписи та вжити відповідну дію, якщо хтось знайдений. Наприклад, надсилайте сповіщення клієнтів, які повідомляють їх, що документ, який завантажується, містить цифрові підписи, які будуть втрачені, якщо він обробляється
Aspose.Words підтримує роботу з макросами в документі. Але Aspose.Words не підтримує цифрові підписи на макроси Експортувати документ назад до будь-якого формату Word і використовувати Microsoft Word додати цифровий підпис на макроси

Виявлення, розрахунок та перевірка цифрових підписів

Aspose.Words дозволяє виявляти цифровий підпис у документі за допомогою документа DetectFileFormat метод і метод HasDigitalSignature майно. Варто відзначити, що така перевірка виявить тільки факт підпису, але не її дійсність.

Документ може бути підписаний більше одного разу, і це може бути зроблено різними користувачами. Щоб перевірити дійсність цифрових підписів, потрібно навантажити їх з документа за допомогою документа LoadSignatures метод і використання IsValid майно. Про нас Aspose.Words дозволяє підрахувати набір всіх цифрових підписів у документі за допомогою документа Count майно.

Все це забезпечує ефективний і безпечний спосіб перевірити документ для підписів до його обробки.

Приклад коду показує, як визначити наявність цифрових підписів і перевірити їх:

Створення цифрового підпису

Для створення цифрового підпису Вам потрібно буде завантажити сертифікат, який підтверджує особу. Якщо ви надішли електронний документ, ви також надішлемо свій сертифікат та публічний ключ.

Aspose.Words дозволяє створювати сертифікат X.509, цифровий сертифікат, який використовує міжнародний стандарт X.509 PKI, щоб переконатися, що публічний ключ належить до знака, включеного до сертифікату. Для цього використовуйте Create метод в межах CertificateHolder клас.

Наступні розділи пояснюють, як додати цифровий підпис, підписну лінію, і як записати сформований документ PDF.

Підписатися на розсилку

Aspose.Words дозволяє записувати DOC, DOCX або ODT документ цифрово за допомогою Sign метод і SignOptions властивості.

Приклад коду показує, як зареєструвати документи за допомогою власника сертифіката та параметри вивіски:

Додавання лінії Signature

У документі є візуальне представлення цифрового підпису. Aspose.Words дозволяє вставляти підписну лінію за допомогою DocumentBuilder.InsertSignatureLine метод. Ви також можете встановити параметри для цього представлення за допомогою SignatureLineOptions клас.

Наприклад, картина нижче показує, наскільки дійсні та недійсні підписи можна відображати.

valid-digital-signature invalid-digital-signature

Також, якщо документ містить підписну лінію і не цифровий підпис, існує можливість попросити користувача додати підпис.

Приклад коду показує, як зареєструватися документ з персональним сертифікатом та конкретною лінійкою підписів:

Підпишіться на розсилку PDF

Aspose.Words дозволяє зареєструватися і отримати всі деталі документа PDF за допомогою PdfDigitalSignatureDetails властивості.

Приклад коду показує, як зареєструватися створеного PDF:

На малюнку нижче показано, що згенерований документ PDF відкривається у Adobe Acrobat і цифровий підпис перевіряється як тепер і діє.

create-digital-signed-pdf-aspose-words-java

Доступ до цифрового значення сигналу

Aspose.Words також забезпечує можливість отримання цифрового значення підпису з цифрово підписаного документа як байтовий масив за допомогою SignatureValue майно.

Приклад коду показує, як отримати значення цифрового підпису як байтовий масив з документа:

Видалити цифрові підписи

Aspose.Words дозволяє видалити всі цифрові підписи з підписаного документа RemoveAllSignatures метод.

Приклад коду показує, як завантажувати та видаляти цифрові підписи з документа: