Установка пароля для PDF-файла

Материал из ALT Linux Wiki

В статье показан пример защиты PDF-документа паролем.

Утилита qpdf

Утилита qpdf — считывает входной PDF-файл, применяет преобразования, указанные аргументами, к файлу в памяти и сохраняет результат в указанный выходной файл. Утилита поддерживает слияние и разделение PDF-файлов, а также управление списком страниц в PDF-файле.

Установка пакета qpdf:

# apt-get install qpdf

Для создания зашифрованного PDF-файла можно использовать опцию --encrypt:

$ qpdf --encrypt user-password owner-password key-length -- file.pdf file_with_password.pdf

Где:

  • user-password — пароль пользователя (может быть пустым);
  • owner-password — пароль владельца (может быть пустым);
  • key-length — длина ключа: 40, 128 или 256 (40-битное шифрование небезопасно, как и 128-битное шифрование без AES);
  • -- — конец флагов шифрования;
  • file.pdf — имя PDF-файла, который будет зашифрован;
  • file_with_password.pdf — имя зашифрованного PDF-файла.

Пример создания зашифрованного PDF-файла:

$ qpdf --encrypt pass_own pass_usr 256 -- 2ipa_1.4.pdf 2ipa_1.4_pass.pdf

qpdf использует RC4 в качестве алгоритма шифрования. Но для ключа длиной 128 также можно использовать AES:

$ qpdf --encrypt pass_own pass_usr 128 --use-aes=y -- 2ipa_1.4.pdf 2ipa_1.4_pass.pdf

При попытке открыть зашифрованный PDF-файл будет запрошен пароль:

Atril запрос пароля на чтение PDF-файла

Защищенные паролем файлы можно открыть, указав пароль с помощью --password:

$qpdf --decrypt --password=password file_with_password.pdf file.pdf