O Kleopatra permite ao utilizador configurar a aparência visual das chaves com base num conceito chamado de Categorias das Chaves. Estas também podem ser usadas para filtrar a lista de certificados. Esta secção descreve como poderá editar as categorias disponíveis, bem como adicionar novas.
Ao tentar procurar a categoria a que uma chave pertence, o Kleopatra tenta corresponder a chave a uma sequência de filtros de chaves, configurada no libkleopatrarc. A primeira a corresponder define a categoria, baseada num conceito de especificidade, explicada mais abaixo.
Cada filtro de chaves está definido num grupo de configuração chamado Key Filter #, em que o nn é um número que começa em 0.
As únicas chaves obrigatórias num grupo Key Filter # é o nName, que contém o nome da categoria, tal como aparece na janela de configuração e o id, que é usado como referência para o filtro nas outras secções de configuração como o View #). n
Tabela 6.1, “Chaves de Configuração do Filtro de Chaves que Definem Propriedades de Visualização” lista todas as chaves que definem as propriedades de visualização das chaves que pertencem a essa categorias (isto é aquelas chaves que poderão ser ajustadas na janela de configuração), em que o Tabela 6.2, “Chaves de Configuração do Filtro de Chaves que Definem Critérios de Filtragem” lista todas as chaves que definem o critério com o qual o filtro faz a correspondência das chaves.
Tabela 6.1. Chaves de Configuração do Filtro de Chaves que Definem Propriedades de Visualização
| Chave de Configuração | Tipo | Descrição |
|---|---|---|
background-color | cor | A cor de fundo a usar. Se estiver em falta, usa a cor de fundo definida a nível global para as listas. |
foreground-color | cor | A cor do texto a usar. Se estiver em falta, usa a cor do texto definida a nível global para as listas. |
font | tipo de letra | O tipo de letra a usar. Esse tipo de letra será ajustado para o tamanho configurado para as listas e todos os atributos dos tipos de letra (ver em baixo) serão aplicados. |
font-bold | booleano | Se for igual a true e o font não estiver definido, usa o tipo de letra por omissão das listas com um estilo negrito adicionado (se estiver disponível). É ignorado se o font estiver também disponível. |
font-italic | booleano | É igual ao font-bold, só que para um tipo de letra itálico em vez de negrito. |
font-strikeout | booleano | Se for igual a true, desenha uma linha centrada por cima do tipo de letra. É aplicado, mesmo que o font esteja definido. |
icon | texto | O nome do ícone a mostrar para a primeira coluna. Ainda não está implementado. |
Tabela 6.2. Chaves de Configuração do Filtro de Chaves que Definem Critérios de Filtragem
| Chave de Configuração | Tipo | Se forem indicadas, o filtro faz correspondência quando... |
|---|---|---|
is-revoked | booleano | a chave foi revogada. |
match-context | context[a] | o contexto a que este filtro corresponde. |
is-expired | booleano | a chave expirou. |
is-disabled | booleano | a chave foi desactivada (marcada para não ser usada) pelo utilizador. É ignorada no caso das chaves S/MIME. |
is-root-certificate | booleano | a chave é um certificado de raiz. Ignorado nas chaves OpenPGP. |
can-encrypt | booleano | a chave pode ser utilizada para encriptação. |
can-sign | booleano | a chave pode ser utilizada para assinar. |
can-certify | booleano | a chave por ser utilizada para assinar (certificar) outras chaves. |
can-authenticate | booleano | a chave pode ser utilizada para autenticação (isto é como um certificado de cliente TLS). |
is-qualified | booleano | a tecla poderá ser usada para fazer Assinaturas Qualificadas (como está definido na Lei de Assinatura Digital alemã). |
is-cardkey | booleano | O material da chave está guardado num 'smartcard' (em vez do computador). |
has-secret-key | booleano | a chave secreta deste par da chaves está disponível. |
is-openpgp-key | booleano | a chave é uma chave OpenPGP (true), ou uma chave S/MIME (false). |
was-validated | booleano | a chave foi validada. |
| validate[b] | a chave tem exactamente (prefixo = is), tem tudo excepto (prefixo = is-not), tem pelo menos (prefixo = is-at-least), ou tem no máximo (prefixo = is-at-most) o grau de confiança dado como valor da chave de configuração. Se for indicada mais do que uma chave (com vários valores de prefixo) num único grupo, o comportamento será indefinido. |
| validate | É igual ao , mas para a validade da chave em vez do grau de confiança do dono. |
[a] O contexto é uma enumeração com os valores permitidos: [b] A validade é uma enumeração (ordenada) com os seguintes valores permitidos: | ||
Nota
Alguns dos critérios mais interessantes, como o is-revoked ou o is-expired só irão funcionar com as chaves validadas, razão pela qual, por omissão, só as chaves validadas são verificadas a nível de revogação e expiração, ainda que você seja livre para remover estas verificações extra.
Para além das chaves de configuração indicadas acima, um filtro de chaves poderá também ter um id e um match-contexts.
Se usar o id do filtro, o que corresponde ao nome do grupo de configuração do filtro se não for indicado ou for vazio, poderá referenciar o filtro de chaves mais tarde na configuração, isto é na configuração da Janela do Kleopatra. O id não é interpretado pelo Kleopatra; como tal, pode usar o texto que desejar, desde que seja único.
O match-contexts limita a possibilidade de aplicação do filtro. Estão definidos dois contextos de momento: o contexto appearance é usado ao definir as propriedades de cores e tipos de letra das janelas. O contexto filtering é usado para incluir (e excluir) de forma selectiva os certificados das janelas. O any pode ser usado para se aplicar a todos os contextos definidos de momento, sendo a opção por omissão se o match-contexts não for indicado ou se não produzir contextos de outra forma. Isto garante que nenhum filtro de chaves poderá terminar “morto”, isto é sem quaisquer contextos aplicados.
O formato do item é uma lista de elementos separados por caracteres separadores de palavras. Cada um destes elementos é antecedido opcionalmente de um ponto de exclamação (!), o que indica uma negação. Os elementos actuam por ordem sobre uma lista de contextos interna, que começa inicialmente vazia. Isto é melhor explicado com um exemplo: any !apperance é o mesmo que filtering, assim como appearance !appearance produz um conjunto vazio, dado que corresponde a !any. Contudo, os dois últimos serão substituídos por any, dado que não produzem quaisquer contextos.
De um modo geral, os critérios não indicados (isto é o item de configuração não está definido) não são validados. Se um critério for indicado, é validado e terá de corresponder para que o filtro como um todo seja validado, isto é os critérios são agrupados com um E lógico.
Cada filtro tem uma “especificidade” implícita que é usada para classificar todos os filtros correspondentes. Os filtros mais específicos têm precedência sobre os menos específicos. Se dois filtros tiverem a mesma especificidade, o que vier primeiro no ficheiro de configuração ganha. A especificidade de um filtro é proporcional ao número de critérios que contém.
Exemplo 6.1. Exemplos de filtros de chaves
Para verificar todos os certificados expirados mas não revogados, você iria usar um filtro de chaves definido da seguinte forma:
[Key Filter #n]
Name=expirada mas não revogada
was-validated=true
is-expired=true
is-revoked=false
is-root-certificate=true
; ( specificity 4 )Para verificar todas as chaves de OpenPGP desactivadas (ainda não suportado pelo Kleopatra) com um grau de confiança pelo menos “marginal”, você iria usar:
[Key Filter #n]
Name=chaves de OpenPGP desactivadas com confiança marginal ou boa
is-openpgp=true
is-disabled=true
is-at-least-ownertrust=marginal
; ( specificity 3 )