Настройка программ подсчёта контрольных сумм для использования с функцией создания/проверки контрольных сумм

Kleopatra позволяет администратору (и пользователю с достаточными правами) настроить список программ подсчёта контрольных сумм, которые будут доступны для выбора в диалоге конфигурации и будут автоматически определяться Kleopatra при запросе проверки контрольной суммы файла.

Примечание

Чтобы вывод программ расчёта контрольных сумм (как записанный файл контрольной суммы, так и вывод в stdout при проверке контрольных сумм) мог использоваться в Kleopatra, он должен быть совместим с командами md5sum и sha1sum GNU.

В частности, файл контрольной суммы должен быть поделен на строки, каждая из которых должна быть записана в следующем формате:

КОНТРОЛЬНАЯ_СУММА ' ' ( ' ' | '*' ) ИМЯ_ФАЙЛА

, где КОНТРОЛЬНАЯ_СУММА состоит только из шестнадцатеричных символов. Если ИМЯ_ФАЙЛА содержит символ новой строки, строка должна быть такой:

\КОНТРОЛЬНАЯ_СУММА ' ' ( ' ' | '*' ) ЭКРАНИРОВАННОЕ_ИМЯ_ФАЙЛА

, где ЭКРАНИРОВАННОЕ_ИМЯ_ФАЙЛА — имя файла, в котором символы новой строки заменены на \n и продублированы обратные косые черты(\\\).

Аналогичным образом, вывод verify-command должен иметь вид

ИМЯ_ФАЙЛА ( ': OK' | ': FAILED' )

с разделением на строки. В выводе не экранируются символы новой строки и другие символы.[2]

Каждая программа расчёта контрольных сумм определена в файле libkleopatrarc как отдельная группа Checksum Definition #n со следующими обязательными ключами:

file-patterns

Список регулярных выражений, описывающих то, какие файлы должны считаться файлами контрольных сумм для этой программы расчёта контрольных сумм. Синтаксис выражений соответствует синтаксису, используемому для списков строк в файлах конфигурации KDE.

Примечание

Так как регулярные выражения обычно содержат обратные косые черты, необходимо надлежащим образом экранировать их в файле конфигурации. Рекомендуется использовать утилиту для редактирования файлов конфигурации.

Учёт регистра символов в шаблонах зависит от используемой программной платформы.

output-file

Типичное название файла выходных данных для этой программы расчёта контрольных сумм (конечно же, должно соответствовать одному из значений file-patterns). Его Kleopatra будет использовать в качестве названия файла выходных данных при создании файлов контрольных сумм соответствующего типа.

id

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

Name (с возможностью перевода)

Видимое пользователю название программы расчёта контрольных сумм, которое отображается в раскрывающемся меню диалога настройки Kleopatra.

create-command

Команда для создания файлов контрольных сумм. Синтаксис, ограничения и опции передачи аргументов совпадают с теми, которые описаны для pack-command в «Настройка архиваторов для использования с функцией подписывания/зашифровывания файлов».

verify-command

То же самое, что и create-command, но для проверки контрольных сумм.

Вот полный пример:

[Checksum Definition #1]
          file-patterns=sha1sum.txt
          output-file=sha1sum.txt
          id=sha1sum-gnu
          Name=sha1sum (GNU)
          Name[de]=sha1sum (GNU)
          ...
          create-command=sha1sum -- %f
          verify-command=sha1sum -c -- %f
        



[2] Да, эти программы были написаны без учёта потребности в графическом интерфейсе. Kleopatra не сможет правильно обработать файлы, названия которых содержат «: OK» и символ новой строки.