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

Цифровий підпис - це технологічна реалізація електронних підписів на реєстраційні документи та автентифікувати підписника, щоб гарантувати, що документ не був модифікований, оскільки він підписаний. Кожен цифровий підпис унікальний для кожного підписника через протокол 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, XPS, або документ ODT цифрово за допомогою Sign метод і SignOptions властивості.

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

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

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

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

drawing drawing

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

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

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

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

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

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

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

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

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

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

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