Шифровать PDF-файлы

Шифрование — известный и надежный подход к защите содержимого документов PDF. Когда документ зашифрован, его содержимое становится нечитаемым, и только авторизованные пользователи могут расшифровать документ, чтобы получить доступ к содержимому. Когда вы защищаете документы паролем, люди, которые введут правильный пароль, смогут получить доступ к файлу или папке. Более надежным методом безопасности является шифрование, распространенными типами которого являются 128-битный ключ или 256-битное шифрование AES. Обратите внимание, что шифрование превращает содержимое документа в нечитаемый зашифрованный текст. Для расшифровки документа авторизованным пользователям нужен ключ, который обычно представляет собой пароль или цифровой сертификат. В этой статье мы рассмотрим подробности того, как шифровать и расшифровывать файлы PDF с помощью Java cloud SDK.

В этом блоге мы обсудим этапы и детали, касающиеся шифрования и дешифрования PDF-документов с использованием Java REST API.

API-интерфейс REST Java

Aspose.PDF Cloud SDK для Java — это оболочка вокруг Aspose.PDF Cloud, которая позволяет программистам Java в полной мере воспользоваться функциями, которые в настоящее время предлагаются в нашем Cloud API. Таким образом, прямо в вашем коде Java вы получаете возможности создавать, редактировать и преобразовывать файлы PDF в различные Поддерживаемые форматы документов.

Установка

Чтобы использовать SDK, первым шагом является его установка в вашей системе. Cloud SDK доступен для загрузки через Maven и GitHub. Теперь добавьте следующие данные в ваш файл pom.xml для загрузки и использования Aspose.Pdf.jar в проекте сборки Maven.

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

Мы также рекомендуем вам перейти по следующей ссылке для получения подробной информации о Как установить Aspose.Cloud SDK.

Бесплатная подписка на Cloud Dashboard

Aspose.PDF Cloud SDK для Java — это бесплатный Cloud SDK с открытым исходным кодом для обработки файлов PDF. Когда мы упоминаем «бесплатно», это означает, что полный исходный код SDK доступен для загрузки в репозитории GitHub. Таким образом, вы можете изменять его код в соответствии со своими требованиями. Но для обеспечения конфиденциальности и целостности данных API-интерфейсы Cloud доступны только авторизованным лицам, и они получают доступ только к своему конкретному облачному хранилищу.

Поэтому сначала вам нужно посетить панель управления Aspose.Cloud и, если у вас есть учетная запись GitHub или Google, просто зарегистрироваться. В противном случае нажмите кнопку Создать новую учетную запись и укажите необходимую информацию.

Зашифруйте PDF-файл с помощью команды cURL

Команды cURL — один из самых простых и крутых способов доступа к REST API. Давайте поговорим о добавлении различных аннотаций с помощью команд cURL. Чтобы использовать команды cURL, нам нужно сначала сгенерировать токен авторизации доступа JWT. JSON Web Token (JWT) основан на данных Client ID и Client Secret, которые являются уникальными ключами, сгенерированными для каждого клиента. Итак, войдите в панель управления Aspose.Cloud, используя свои учетные данные, разверните раздел Applications на панели управления и прокрутите вниз до раздела Client Credentials, чтобы увидеть данные Client ID и Client Secret.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Прежде чем продолжить, обратите внимание, что при шифровании PDF-файлов мы устанавливаем пароли пользователя и владельца.

Пароль для открытия документа

Пароль открытия документа (также известный как пароль пользователя) требует от пользователя ввести пароль для открытия PDF-файла.

Пароль разрешений

Пароль доступа (также известный как главный/владелец пароль) требуется для изменения настроек доступа. При использовании пароля доступа вы можете ограничить печать, редактирование и копирование содержимого в PDF. Этот пароль требуется для изменения уже примененных вами ограничений.

Если PDF-файл защищен обоими типами паролей, его можно открыть с помощью любого из них.

Обратите внимание, что API принимает пароли владельца и пользователя в формате Base64encoded. В следующей команде cURL указаны ownerPassword (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) и userPassword (dXNlciAkXlBhc3N3b3JkISY=).

curl -v "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/encrypt?userPassword=dXNlciAkXlBhc3N3b3JkISY%3D&ownerPassword=b3duZXJcLy8%2FICQxMl5QYXNzd29yZCEm&cryptoAlgorithm=AESx128&permissionsFlags=AssembleDocument&usePdf20=false" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Зашифровать PDF-файл с помощью Java

Мы не просто добавляем защиту паролем в файлы PDF, но используем более надежный метод безопасности — шифрование. API Java REST позволяет выбрать один из следующих методов шифрования, которые превращают содержимое документа в нечитаемый зашифрованный текст.

| Имя | Описание |

| ———— | ———————– |

| RC4x40 | RC4 с длиной ключа 40. |

| RC4x128 | RC4 с длиной ключа 128. |

| AESx128 | AES с длиной ключа 128. |

| AESx256 | AES с длиной ключа 256. |

Используйте следующий фрагмент кода для добавления userPassword и ownerPassword в PDF-файлы, уже доступные в облачном хранилище.

  • Первым шагом является создание экземпляра PdfApi с передачей данных clientID и clientSecret в качестве аргументов.
  • Загрузите PDF-файл в облачное хранилище с помощью метода uploadFile(…) PdfApi.
  • Наконец, вызовите метод postEncryptDocumentInStorage(…) PdfApi, который принимает в качестве аргументов имя входного PDF-файла, пароли пользователя и владельца, а также значение из перечисления CryptoAlgorithm.
// Получите ClientID и ClientSecret с https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// экземпляр createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// входной PDF-документ
String name = "PdfWithTable.pdf";	        
			   
// Загрузить файл из локальной системы
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// загрузить файл в облачное хранилище
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// пароли пользователя и владельца, закодированные в base64
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&
String ownerPasswordBase64encoded = "b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm"; //owner\//? $12^Password!&

// вызов API для шифрования PDF
AsposeResponse response  = pdfApi.postEncryptDocumentInStorage(name, userPasswordBase64encoded, ownerPasswordBase64encoded,
			                CryptoAlgorithm.AESX128.getValue(), null, null, null, null);
// Распечатать ответ API в консоли
System.out.println(response);

При попытке открыть полученный файл появится запрос на ввод пароля.

Расшифровать PDF-файл с помощью команды cURL

Команда cURL также может использоваться для расшифровки существующего закодированного PDF-документа. В приведенном ниже примере осуществляется доступ к API PostDecryptDocumentInStorage, который принимает данные пароля в качестве аргумента.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/decrypt?password=dXNlciAkXlBhc3N3b3JkISY%3D" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Расшифровать PDF-файл с помощью Java

Чтобы расшифровать PDF-файлы с помощью Java, выполните следующие действия.

  • Создайте экземпляр PdfApi, передав clientSecret и clientID в качестве аргументов.
  • Создать строковый объект, определяющий входной PDF-файл.
  • Загрузите файл в облачное хранилище с помощью метода uploadFile(….) класса PdfApi.
  • Наконец, вызовите метод postDecryptDocumentInStorage(…), указав в качестве аргументов имя входного PDF-файла и пароль для расшифровки.
// Получите ClientID и ClientSecret с https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// экземпляр createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// входной PDF-документ
String name = "PdfWithTable.pdf";	        
			   
// Загрузить файл из локальной системы
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// загрузить файл в облачное хранилище
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// пароли пользователя и владельца, закодированные в base64
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&

// вызов API для расшифровки PDF
AsposeResponse response  = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// Распечатать ответ API в консоли
System.out.println(response);

Расшифрованный файл, использованный в приведенном выше примере, можно загрузить с PdfWithTable-Encrypted.pdf.

Заключение

В этом блоге мы обсудили шаги по шифрованию и дешифрованию файлов PDF с помощью Java REST API. Вы можете легко шифровать исходные файлы и делиться ими через Интернет, не опасаясь кражи данных или неправильного использования документов. Помимо функций шифрования, Aspose.PDF Cloud SDK для Java предоставляет множество функций, связанных с форматом PDF. Вы можете рассмотреть возможность посещения следующей ссылки для получения дополнительных сведений о функциях Aspose.PDF Cloud.

Похожие статьи

Мы также рекомендуем вам прочитать следующий блог для получения информации о