Créer et éditer des catégories de clés

Kleopatra permet à l'utilisateur de configurer l'apparence visuelle des clés en se basant sur un concept appelé Catégories de clés. Les Catégories de clés sont aussi utilisées pour filtrer la liste des certificats. Cette section décrit de quelle manière il est possible d'éditer les catégories disponibles et d'en ajouter de nouvelles.

Lorsqu'on essaie de trouver la catégorie à laquelle une clé appartient, Kleopatra tente de faire correspondre une clé à une séquence de filtres de clés, configurée dans le fichier libkleopatrarc. Le premier à correspondre définit la catégorie, en s'appuyant sur un concept de spécificité, expliqué plus loin.

Chaque filtre de clés est défini dans un groupe de configuration nommé Key Filter #n, où n est un nombre à partir de 0.

Les seules clés obligatoires dans un groupe Key Filter #n sont Name, qui contient le nom de la catégorie tel qu'il est affiché dans la boite de dialogue de configuration, et id, qui est utilisé comme référence pour le filtre dans d'autres sections de configuration (comme Vue #n).

Tableau 6.1, « Clés de configuration des filtres de clés définissant les propriétés d'affichage » répertorie toutes les clés qui définissent les propriétés d'affichage des clés appartenant à cette catégorie (c'est-à-dire les clés qui peuvent être ajustées dans la boite de dialogue de configuration), alors que Tableau 6.2, « Clés de configuration des filtres de clés définissant les critères du filtre » dresse la liste de toutes les clés qui définissent les critères par rapport auxquels le filtre correspond aux clés.

Tableau 6.1. Clés de configuration des filtres de clés définissant les propriétés d'affichage

Clé de configurationTypeDescription
couleur d'arrière-plancouleurLa couleur d'arrière-plan à utiliser. Si elle est absente, sera par défaut celle définie globalement pour les affichages en liste.
couleur d'avant-plancouleurLa couleur d'avant-plan à utiliser. Si elle est absente, sera par défaut celle définie globalement pour les affichages en liste.
policepoliceLa police par défaut à utiliser. La police sera mise à l'échelle de façon à correspondre à la taille configurée pour les affichages en liste, et tout attribut de police (voir ci-dessous) sera appliqué.
font-boldbooléenSi défini à True et si font n'est pas défini, utilise la police par défaut de l'affichage en liste avec ajout du style de police Gras (si disponible). Ignoré si font est également présent.
font-italicbooléenAnalogue à font-bold, mais pour les polices de type italique au lieu de gras.
police-barréebooléenSi True, trace une ligne au centre de la police. Appliqué même si font est défini.
icônetexteLe nom d'une icône à afficher dans la première colonne. N'est pas encore mis en œuvre.

Tableau 6.2. Clés de configuration des filtres de clés définissant les critères du filtre

Clé de configurationTypeSi spécifié, le filtre correspond quand...
is-revokedbooléenla clé a été révoquée.
match-contextcontexte[a] le contexte auquel le filtre correspond.
is-expiredbooléenla clé a expiré.
is-disabledbooléenla clé a été désactivée (marquée afin de ne pas être utilisée) par l'utilisateur. Ignoré pour les clés S/MIME.
is-root-certificatebooléenla clé est un certificat racine. Ignoré pour les clés OpenPGP.
can-encryptbooléenla clé peut servir pour le chiffrement.
can-signbooléenla clé peut servir pour signer.
can-certifybooléenla clé peut servir pour signer (certifier) d'autres clés.
can-authenticatebooléenla clé peut servir pour l'authentification (par exemple comme certificat de client TLS).
is-qualifiedbooléenla clé peut être utilisée pour faire des Signatures Qualifiées (comme définie par la loi allemande sur la signature numérique).
is-cardkeybooléenle matériel clé est stockée sur une carte à puce (et non sur l'ordinateur).
has-secret-keybooléenla clé secrète de cette paire de clés est disponible.
is-openpgp-keybooléenla clé est une clé OpenPGP (True) ou une clé S/MIME (False).
was-validatedbooléenla clé a été validée.
prefix-ownertrustvalidité[b] la clé a exactement (prefix = is), n'a rien sauf (prefix = is-not), a au moins (prefix = is-at-least) ou a au plus (prefix = is-at-most) la confiance du propriétaire en question comme valeur pour la clé de configuration. Si plusieurs clés prefix-ownertrust (avec des valeurs prefix différentes) sont présentes dans un seul groupe, le comportement est indéfini.
prefix-validityvaliditéAnalogue à prefix-ownertrust, mais pour la validité des clés au lieu de la confiance du propriétaire.

[a] Le contexte est un listage des valeurs autorisées suivantes : appearance, filtering et any.

[b] La validité est un listage (ordonnée) des valeurs autorisées suivantes : unknown, undefined, never, marginal, full, ultimate. Reportez-vous aux manuels de GPG et GpgSM pour une explication détaillée.


Note

Quelques-uns des critères les plus intéressants, comme is-revoked ou is-expired ne fonctionneront que sur des clés validées, ce qui explique pourquoi par défaut, la révocation et l'expiration n'est vérifiée que pour les clés validées, bien que vous soyez libre de supprimer ces contrôles supplémentaires.

En plus de la liste des clés configurées ci-dessous, un filtre de clés peut aussi avoir un id et un match-contexts.

En utilisant l'id du filtre, qui est par défaut le nom du groupe de configuration du filtre s'il n'est pas donné ou vide, vous pouvez indiquer le filtre de clés autre part dans la configuration, par exemple dans l'affichage de la configuration de Kleopatra. L'id n'est pas interprété par Kleopatra, vous pouvez donc utiliser n'importe quelle chaine, tant quelle reste unique.

match-contexts limite la pertinence du filtre. Deux contexte sont actuellement définis : le contexte d'appearance est utilisé lors de la définition des couleurs et des propriétés de la police pour la vue. Le contexte filtering est utilisé pour inclure (et exclure) sélectivement des certificats de la vue. any peuvent être utilisé pour désigner tous les contextes définis actuellement, et c'est celui par défaut si match-contexts n'est pas donné, ou sinon ne produit aucun contexte. Cela assure qu'aucun filtre de clés ne se retrouve « mort », c'est-à-dire avec aucun contexte à lui appliquer.

Le format de l'entrée est une liste d'identificateurs, séparés par des caractères qui ne sont pas des mots. Chacun de ces identificateurs peut être précédé par un point d'exclamation (!), indiquant la négation. Les identificateurs agissent dans l'ordre sur une liste externe de contextes, qui débute vide. Le mieux est de l'expliquer par un exemple : tous !appearance est le même que filtering et appearance !appearance produit un groupe vide, comme l'est !any. Cependant, les deux derniers seront remplacés en interne par any, car ils ne produisent aucun contexte du tout.

En général, les critères non spécifiés (c'est-à-dire dont l'élément de configuration n'est pas défini) ne sont pas vérifiés. Si un critère est indiqué, il est déceler et doit correspondre au filtre comme un ensemble pour convenir, c'est-à-dire que les critères sont « combinés en ET » (AND'ed together).

Chaque filtre a une « spécificité » tacite qui est utilisée pour classer tous les filtres correspondants. Le filtre le plus spécifique l'emporte sur les filtres les moins spécifiques. Si deux filtres ont la même spécificité, celui qui vient en premier dans le fichier de configuration l'emporte. La spécificité du filtre est proportionnelle au nombre de critère qu'il contient.

Exemple 6.1. Exemples de filtres de clés

Pour vérifier tous les certificats racines arrivés à expiration mais non révoqués, vous devriez utiliser un filtre de clés défini comme suit :

[Key Filter #n]
Name=expired, mais pas révoqué
was-validated=true
is-expired=true
is-revoked=false
is-root-certificate=true
 ; ( specificity 4 )

Pour vérifier toutes les clés OpenPGP désactivées (Kleopatra ne le gère pas encore) ayant au moins la confiance « minimale » du propriétaire, vous devriez utilisez :

[Key Filter #n]
Name=clés OpenPGP désactivées ayant la confiance minimale ou d'un niveau plus élevé du propriétaire
is-openpgp=true
is-disabled=true
is-at-least-ownertrust=marginal
 ; ( specificity 3 )