O Kleopatra permite ao administrador (e aos utilizadores especializados) configurar a lista de programas de geração de códigos de validação de integridade que o utilizador poderá escolher, a partir da janela de configuração, desde que o Kleopatra consiga detectar automaticamente, quando for pedido para verificar o código de integridade de um dado ficheiro.
Nota
Para poder ser usado pelo Kleopatra, o resultado dos programas de validação (tanto o ficheiro de códigos gravado, como o resultado para o stdout, na verificação dos códigos de validação) terá de ser compatível com os comandos da GNU md5sum e sha1sum.
De uma forma específica, o ficheiro de códigos de validação será composto por várias linhas, tendo cada uma delas o seguinte formato:
CÓDIGO-VALIDAÇÃO' ' ( ' ' | '*' )NOME-FICHEIRO
em que o CÓDIGO-VALIDAÇÃO consiste apenas em caracteres hexadecimais. Se o NOME-FICHEIRO tiver um carácter de mudança de linha, a linha deverá ser lida então como:
\CÓDIGO-VALIDAÇÃO' ' ( ' ' | '*' )NOME-FICHEIRO-ESCAPADO
em que o NOME-FICHEIRO-ESCAPADO é o nome do ficheiro com as mudanças de linha substituídas por \n's e as barras invertidas duplicadas (\↦\\).
Do mesmo modo, o resultado do verify-command deverá estar no formato
FICHEIRO ( ': OK' | ': FAILED' ), separado por mudanças de linha. Estas e os outros caracteres não são escapados no resultado.[2]
Cada programa de validação está definido no libkleopatrarc como um grupo Checksum Definition # separado, com as seguintes chaves obrigatórias: n
file-patternsUma lista de expressões regulares que descrevem quais os ficheiros que poderão ser considerados ficheiros de validação de integridade para este programa em particular. A sintaxe é a mesma que é usada para as listas de textos nos ficheiros de configuração do KDE.
Nota
Dado que as expressões regulares normalmente contêm barras invertidas (\), deve-se ter algum cuidado em escapá-las também no ficheiro. Recomenda-se a utilização de uma ferramenta de edição de ficheiros de configuração.
A plataforma define se os padrões são tratados com ou sem distinção entre maiúsculas e minúsculas.
output-fileO nome do ficheiro de saída típico para este programa de validação (deverá corresponder a um dos
file-patterns, obviamente). Isto é o que o Kleopatra irá usar como ficheiro de saída, cada vez que criar ficheiros de códigos de validação deste tipo.idUm ID único que é usado para identificar este programa internamente. Em caso de dúvida, use o nome do comando.
Name(traduzido)O nome visível para o utilizador deste programa de validação de integridade, tal como irá aparecer na lista respectiva da janela de configuração do Kleopatra.
create-commandO comando real com que são criados os ficheiros de validação de integridade. A sintaxe, as restrições e as opções de passagem de argumentos são as mesmas que foram descritas para o
pack-commandnas “Configurar os Arquivadores a Usar ao Assinar/Encriptar os Ficheiros”.verify-commandÉ igual ao
create-command, mas usado na verificação dos códigos de validação de integridade.
Aqui está um exemplo completo:
[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] Sim, estes programas não foram feitos com as interfaces gráficas em mente, pelo que o Kleopatra não conseguirá processar os ficheiros patológicos que contenham ": OK" e uma mudança de linha no seu nome.