Выполнение операций в командной строке или терминале
В данном разделе описана инструкция по выполнению криптографических операций с помощью командной строки (для Windows) и терминала (для Unix-подобных операционных систем).
Важно: подпись документов возможна только при наличии лицензии.
Важно: для подписи документов на рабочем месте необходим установленный криптопровайдер КриптоПро CSP и лицензия на него.
Для выполнения команд в консоли необходимо придерживаться определенного синтаксиса при написании команды. Описание:
- -команда — команда пишется первой, после пути до исполняемого файла. Далее указываются значения переменных и параметры операции.
- <текст> — указываются значения переменной, такие как Серийный номер сертификата, Путь до исходного файла, OID алгоритма шифрования и т.п.
- [текст] — в квадратных скобках пишутся необязательные параметры, которые можно как задать, так и не задавать, тогда будут использоваться значения по умолчанию.
Все команды и параметры пишутся через пробел.
Перед вводом команды необходимо указать путь до исполняемого файла. После указания пути до исполняемого файла необходимо поставить пробел, затем вводить команды.
В зависимости от ОС путь до исполняемого файла может отличаться:
- В ОС Windows: "C:\Program Files\CryptoARM>cryptoarm.exe".
- В Unix-подобных ОС семейства Linux: /opt/cryptoarm/cryptoarm.
- На ОС MacOS: /Applications/cryptoarm.app/Contents/MacOS/cryptoarm.
Для получения справки по операциям можно выполнить команды:
- cryptoarm.exe --h — выводится полная справка по всем командам;
- cryptoarm.exe enc -h — выводится справка по команде шифрования;
- cryptoarm.exe dec -h — выводится справка по команде расшифрования;
- cryptoarm.exe sig -h — выводится справка по команде подписи;
- cryptoarm.exe ver -h — выводится справка по команде проверки подписи.
Операция Подпись
sign или sig
Команда позволяет выполнить операцию подписи файла или нескольких файлов. Если в исходном файле указать уже подписанный документ, то будет добавлена еще одна подпись к файлу.
Пример выполнения команды:
cryptoarm.exe sign --cert <серийный номер сертификата> [--enc DER|BASE64] [-detached] [--save-copy] [--pin <PIN>] [-ext <sign file extension>] [--standard <CAdES-T|CAdES-A|CAdES-XLT1> --tsp <tsp-addr> [-ocsp <ocsp-addr>] [-proxy <proxy-address> [-proxy-port <port>] [-proxy-login <login>] [-proxy-password <password>]]] --source-file <путь к файлу>|--source-folder <путь к папке>
Описание команды:
- -cert — команда для указания сертификата подписи;
- -detached — указать, что подпись должна быть отсоединенная. По умолчанию используется присоединенная подпись;
- --enc DER|BASE-64 — указать в какой кодировке будет сохранен подписанный файл. По умолчанию используется кодировка DER;
- -save-copy — копия результата будет сохранена в папку Архив;
- --pin <PIN> — указать пароль на контейнер сертификата;
- --ext <sign file extension> — указать расширение создаваемого файла подписи. Расширение по умолчанию "sig", можно указать расширения “sgn”, “sign”. “p7s”, “bin”;
- --sign-type <CadesT|CadesA|CadesXLT1> — указать стандарт подписи. Если параметр не указан то создаётся подпись стандартом CAdES-BES. Если выбран CadesT, CadesXLT1 или CadesA, то обязательно требуется указать адрес службы TSP;
- -tsp <tsp-addr> — указать адрес службы TSP;
- -ocsp <ocsp-addr> — указать адрес службы OCSP;
- -proxy <proxy-address> — использовать прокси-сервер, при подписи стандартами CadesT/CadesXLT1/CadesA;
- -proxy-port <port> — указать порт для прокси-сервера;
- -proxy-login <login> — указать логин для прокси-сервера;
- -proxy-password <password> — указать пароль для логина прокси-сервера;
- --source-file <путь к файлу> — указать путь до исходного файла. Результат будет сохранен рядом с исходным файлом;
- --source-folder <путь к папке> — указать путь к папке, в которой подпишутся все файлы. Результат будет сохранен в этой же папке.
Операция Шифрование
encrypt или enc
Команда позволяет выполнить шифрование одного или нескольких файлов в адрес одного или нескольких сертификатов.
Пример выполнения команды:
cryptoarm.exe 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 — команда для указания сертификата шифрования. При шифровании в адрес нескольких получателей, необходимо указать несколько серийных номеров через запятую;
- --enc DER|BASE-64 — указать в какой кодировке будет сохранен зашифрованный файл. По умолчанию используется кодировка DER;
- --alg <alg-oid> — указать OID алгоритма шифрования. Значение по умолчанию 1.2.643.7.1.1.5.1 (ГОСТ Р 34.12-2015 Магма). Для алгоритма Кузнечик указывается OID 1.2.643.7.1.1.5.2.1;
- -delete-source — удаление исходного файла после шифрования;
- --save-copy — копия результата будет сохранена в папку Архив;
- --source-file <путь к файлу> — указать путь до исходного файла. Результат будет сохранен рядом с исходным файлом;
- --source-folder <путь к папке> — указать путь к папке, в которой зашифруются все файлы. Результат будет сохранен в этой же папке;
- --encrypted-file-path <путь к файлу с новым именем> — указать путь к файлу, в который будет сохранен результат шифрования;
- --folder-save-encrypted <путь к папке для сохранения результата> — указать путь к папке, в которую будут сохранены результаты шифрования (имя создается автоматически с расширением .enc).
Операция Расшифрование
decrypt или dec
Команда позволяет выполнить расшифрование одного или нескольких зашифрованных файлов.
Пример выполнения команды:
cryptoarm.exe decrypt [--pin <PIN>] [--save-copy] --source-file <путь к зашифрованному файлу>|--source-folder <путь к папке> --encrypted-file-path <путь к файлу c новым именем для сохранения результата>|--folder-save-encrypted <путь к папке для сохранения результата>
Описание команды:
- --pin <PIN> — указать пароль на контейнер сертификата расшифрования;
- --save-copy — копия результата будет сохранена в папку Архив;
- --source-file <путь к файлу> — указать путь до зашифрованного файла, который необходимо расшифровать;
- --source-folder <путь к папке> — указать путь к папке, в которой будут расшифрованы все файлы с расширением .enc;
- --encrypted-file-path <путь к файлу с новым именем> — указать путь к файлу, в который будет сохранен результат расшифрования;
- --folder-save-encrypted <путь к папке для сохранения результата> — указать путь к папке, в которую будут сохранены результаты расшифрования (имя создается автоматически без расширения .enc).
Операция Проверка подписи
verify или ver
Команда позволяет выполнить проверку подписи одного или нескольких файлов.
Пример выполнения команды:
cryptoarm.exe verify --source-file <путь к файлу>|--source-folder <путь к папке> --document <путь к исходному файлу отсоединенной подписи> --logcrypto
Описание команды:
- --source-file <путь к файлу> — указать путь до подписанного файла с расширением .sig, .sign, .sgn, .p7s, .bin;
- --source-folder <путь к папке> — указать путь к папке, в которой будет проверена подпись всех файлов с расширениями .sig, .sign, .sgn, .p7s, .bin;
- --document — указать исходный файл для отсоединенной подписи;
- --logcrypto — включить логирование.