Перейти к содержанию

Выполнение операций в командной строке#


Общая информация#

Данное руководство описывает выполнение криптографических операций через интерфейс командной строки (CLI) в операционных системах Windows, Linux и macOS.

Что такое CLI#

CLI (Command Line Interface, интерфейс командной строки) — это способ управления приложением с помощью текстовых команд, вводимых через терминал или консоль.

Команды определяют, какие операции выполнить, с какими параметрами и над какими файлами.

В приложении поддержаны операции:

CLI также подходит для автоматизации — выполнения операций без участия пользователя в составе систем обмена и скриптов .bat и .sh.

📌 Ознакомьтесь c примером автоматизации в инструкции.

Важные замечания#

  • Перед использованием CLI убедитесь, что приложение настроено для работы с электронной подписью.

    🔍 Подробную информацию о настройке можно найти в инструкции Начало работы.

  • Перед вводом команды необходимо указать путь до исполняемого файла. После указания пути до исполняемого файла необходимо поставить пробел, затем вводить команды.

  • Все команды и параметры пишутся через пробел.

Синтаксис команд#

  • -команда — команда пишется первой, после пути до исполняемого файла. Далее указываются значения переменных и параметры операции.
  • <текст> — указываются значения переменной, такие как Серийный номер сертификата, Путь до исходного файла, OID алгоритма шифрования и т.п.
  • [текст] — необязательные параметры, которые можно как задать, так и не задавать, тогда будут использоваться значения по умолчанию.

Пути к исполняемым файлам#

Система Путь при установке по умочанию
Windows "C:\Program Files\CryptoARM 6\cryptoarm6.exe"
Linux /opt/cryptoarm6/cryptoarm6
macOS /Applications/cryptoarm6.app/Contents/MacOS/cryptoarm6

Подпись#

Команда: sign или sig

Команда позволяет выполнить операцию подписи одного или нескольких файлов.

Если в качестве исходного файла указать уже подписанный документ, то будет добавлена соподпись.

Синтаксис#

sign  -cert <serial> [-enc DER|BASE64] [-detached] [-save-copy] [-pin <PIN>] [-ext <sign file extention>] [-sign-type <CadesT|CadesA|CadesXLT1> -tsp <tsp-addr> [-ocsp <ocsp-addr>] [-proxy <proxy-addresss> [-proxy-port <port>] [-proxy-login <login>] [-proxy-password <password>]]] <source-file-name>|<source-folder> <encrypted-file-path>|<folder-to-save-signed>

Описание команды#

Общие параметры подписи#

Параметр Описание По умолчанию
--cert <serial> Серийный номер сертификата подписи
--standard <type> Стандарт подписи CAdES (CAdES-BES, CAdES-T, CAdES-A, CAdES-XLT1) "CAdES-BES"
--detached Создать отделённую подпись Отключено
--save-copy Сохранять копию результата в Архиве Отключено
--pin <pin-code> ПИН-код ключа сертификата
--enc <DER\|BASE-64> Формат сохранения подписи "DER"
--ext <sig\|p7s\|sgn\|sign\|bin> Расширение файла подписи "sig"
-f, --force Использовать недействительный сертификат без подтверждения Отключено
--logcrypto Включение лога trusted-crypto Отключено

Параметры подписи PDF (PAdES)#

Параметр Описание По умолчанию
--pades Подписать PDF по стандарту PAdES Отключено
--overwrite-original-pdf Перезаписать исходный файл после подписи Отключено
--stamp-width <width> Ширина штампа
--stamp-height <height> Высота штампа
--stamp-padding-left <padding> Отступ слева
--stamp-padding-bottom <padding> Отступ снизу
--stamp-color <color> Цвет штампа #000000
--stamp-no-background Прозрачный фон под штамп Отключено
--stamp-page <number> Страница размещения Последняя
--stamp-on-all-pages Дублировать штамп на всех страницах Отключено
--stamp-mchd <number> Добавить номер МЧД в штамп
--stamp-pixel-ratio <ratio> Pixel Ratio для рендеринга штампа 1

⚠️ Ключ --overwrite-original-pdf необратимо изменяет исходный файл. Используйте его с осторожностью, особенно в скриптах, где путь к файлу контролируется.

🚨 Информация в штампе (ФИО, дата, сертификат и т.д.) генерируется автоматически на основе данных вашего сертификата. Настраивается только его визуальное представление, исключение — номер МЧД.

Сетевые параметры#

Параметр Описание По умолчанию
--tsp <url> Адрес службы метки времени TSP
--ocsp <url> Адрес службы OCSP
--proxy <address> Адрес прокси-сервера
--proxy-port <port> Порт прокси
--proxy-login <login> Логин для прокси
--proxy-password <password> Пароль для прокси

Ввод и вывод#

Параметр Описание По умолчанию
--source-file <file> Путь к подписываемому файлу
--source-folder <folder> Подписать все файлы из папки
--signed-file-path <file> Путь для результата подписи
--folder-save-signed <folder> Папка для подписанных файлов
-h, --help Показать справку

Практические примеры#

Пример 1: Подпись со стандартным штампом на последней странице#

В этом примере подписывается PDF-файл со штампом размером 100×30 мм, расположенным в 20 мм от левого и нижнего края последней страницы.

"C:\Program Files\CryptoARM 6\cryptoarm6.exe" sign \
  --source-file "C:\Doc\Пример.pdf" \
  --cert "5883d78e000300093ab6" \
  --pin "12345678" \
  --pades \
  --stamp-width 100 \
  --stamp-height 30 \
  --stamp-padding-left 20 \
  --stamp-padding-bottom 20

Внешний вид штампа:

Стандартный штамп на последней странице


Пример 2: Подпись со штампом красного цвета на всех страницах#

В этом примере подписывается PDF-файл со штампом красного цвета. Штамп размещен в правом нижнем углу на каждой странице документа.

"C:\Program Files\CryptoARM 6\cryptoarm6.exe" sign \
  --source-file "C:\Doc\Пример.pdf" \
  --cert "5883d78e000300093ab6" \
  --pin "12345678" \
  --pades \
  --stamp-width 80 \
  --stamp-height 30 \
  --stamp-padding-left 110 \
  --stamp-padding-bottom 10 \
  --stamp-color "#FF0000" \
  --stamp-on-all-pages

Внешний вид штампа:

Красный штамп на всех страницах

Пример 3: Подпись документа с меткой времени#

В этом примере подписывается файл со стандартом CAdES-T, который включает метку времени. Файл будет сохранен в формате .p7s с кодировкой BASE-64. Копия файла будет помещена в папку Архив раздела Документы.

"C:\Program Files\CryptoARM 6\cryptoarm6.exe" sign \
  --source-file "C:\Documents\Example.pdf" \
  --cert "5883d78e000300093ab6" \
  --pin "12345678" \
  --standard "CAdES-T" \
  --tsp "https://example.com/tsp/tsp.srf" \
  --enc "BASE-64" \
  --ext "p7s" \
  --save-copy \

Шифрование#

Команды: encrypt или enc

Команда позволяет выполнить шифрование одного или нескольких файлов в адрес одного или нескольких сертификатов.

Синтаксис#

encrypt --cert <серийный номер сертификата> [--enc DER|BASE64][--alg <alg-oid>] [--delete-source][--save-copy] [--ext <encrypted file extension>] --source-file <путь к файлу>|--source-folder <путь к папке> --encrypted-file-path <путь к файлу c новым именем для сохранения результата>|--folder-save-encrypted <путь к папке для сохранения результата>

Описание команды#

Параметр Описание Значение по умолчанию
--cert <serial...> Серийный номер сертификата подписи (можно указать несколько)
--alg <alg-oid> OID алгоритма шифрования "1.2.643.2.2.21"
--delete-source Удаление исходного файла после шифрования Отключено
--save-copy Сохранение копии результата в Архиве Отключено
--ext <enc\|p7m\|p7e\|pem> Расширение создаваемого шифрованного файла "enc"
--enc <DER\|BASE-64> Кодировка шифруемого файла "DER"
--logcrypto Включает лог trusted-crypto Отключено
-f, --force Автоматическое согласие на использование недействительных сертификатов Отключено
--source-file <path-file> Путь к файлу для шифрования
--encrypted-file-path <path-file> Путь к файлу для сохранения результата шифрования
--folder-save-encrypted <path-folder> Путь к папке для сохранения зашифрованных файлов
--source-folder <path-folder> Путь к папке с файлами для шифрования
-h, --help Вывод справки команды

Практический пример#

В этом примере шифруется файл Example.txt с использованием сертификата с серийным номером 5883d78e000300093ab6. Результат шифрования будет сохранен в файл Encrypted_Example.enc. Исходный файл будет удален, а копия зашифрованного файла сохранится в папку Архив раздела Документы.

"C:\Program Files\CryptoARM 6\cryptoarm6.exe" encrypt \
  --cert "5883d78e000300093ab6" \
  --enc "DER" \
  --alg "1.2.643.2.2.21" \
  --delete-source \
  --ext "enc" \
  --save-copy
  --source-file "C:\Documents\Example.txt" \
  --encrypted-file-path "C:\Documents\Encrypted_Example.enc"

Расшифрование#

Команды: decrypt или dec

Команда позволяет выполнить расшифрование одного или нескольких зашифрованных файлов.

Синтаксис#

decrypt [-pin <PIN>] [-save-copy] <source-file-name>|<source-folder> <encrypted-file-path>|<folder-to-save-decrypted>

Описание команды#

Параметр Описание Значение по умолчанию
--save-copy Сохранение копии результата в Архиве Отключено
--logcrypto Включает лог trusted-crypto Отключено
--pin <pin-code> Пин-код ключа расшифрования -
--source-file <path-file> Путь к файлу для расшифрования -
--source-folder <path-folder> Путь к папке с файлами для расшифрования -
--decrypted-file-path <path-file> Путь для сохранения расшифрованного файла -
--folder-save-decrypted <path-folder> Путь к папке для сохранения результатов расшифрования -
-h, --help Вывод справки команды -

Практический пример#

В этом примере расшифровывается файл Encrypted_Example.enc. Для сертификата шифрования используется ПИН-код 12345678. Расшифрованный результат сохраняется в C:\Documents\.

"C:\Program Files\CryptoARM 6\cryptoarm6.exe" decrypt \
  --pin "12345678" \
  --source-file "C:\Documents\Encrypted_Example.enc" \
  --decrypted-file-path "C:\Documents\Decrypted_Example.txt"

Проверка подписи#

Команды:

  • verify или ver
  • verify_ts или vts - проверка штампов времени из подписи

Команда позволяет выполнить проверку одной или нескольких подписей, либо штампов времени в файле подписи. Есть возможность сохранения отчёт о проверке в отдельный файл в формате pdf или json.

Синтаксис#

verify [-save-report|-r [<report-file>]] <source-file-name>|<source-folder>
verify_ts [-save-report|-r [<report-file>]] <source-file-name>|<source-folder>

Описание команды#

Параметр Описание Значение по умолчанию
-r-pdf, --save-report-pdf [report-folder] Сохранение отчёта в формате PDF Отключено
-r-json, --save-report-json [report-file-path] Сохранение отчёта в формате JSON Отключено
--document <original-file> Путь к исходному файлу для откреплённой подписи -
--logcrypto Включение лога trusted-crypto Отключено
--source-file <source-file-path> Путь к файлу подписи для проверки -
--source-folder <source-folder-path> Путь к папке с подписями для проверки -
-h, --help Вывод справки по команде -

Практический пример#

В этом примере выполняется проверка подписи файлов в папке C:\Foldername с сохранением отчета о проверке в формате pdf в папку с проверяемыми файлами.

"C:\Program Files\CryptoARM 6\cryptoarm6.exe" ver --source-folder C:\Foldername -r-pdf

Для повышения удобства работы и хранения данных веб-сайт TRUSTED.RU использует файлы COOKIE. Продолжая работу с веб-сайтом, Вы даете свое согласие на работу с этими файлами.