
Sie können in Kleopatra das Aussehen von Schlüsseln auf der Basis eines Konzepts namens Schlüsselkategorien verändern. Schlüsselkategorien werden auch benutzt, um die Liste der Zertifikate zu filtern. In diesem Abschnitt beschreiben wir, wie Sie die verfügbaren Kategorien editieren und neue hinzufügen können.
Um herauszufinden, zu welcher Kategorie ein Schlüssel gehört, versucht Kleopatra, den Schlüssel mit einer Folge von Schlüsselfiltern abzugleichen, die in der Datei libkleopatrarc
konfiguriert sind. Der erste passende Filter definiert die Kategorie, basierend auf dem später erläuterten Konzept der Genauigkeit.
Jeder Schlüsselfilter ist in einer Konfigurationsgruppe namens Key Filter #
definiert, wobei n
n
eine Zahl ist, beginnend bei 0
.
Die einzigen obligatorischen Schlüssel in einer solchen Key Filter #
-Gruppe sind der n
Name
, der den Namen der Kategorie enthält, wie er im Einrichtungsdialog angezeigt wird und id
, die als Verweis auf Filter in anderen Abschnitten der Einrichtungsdatei dient, wie zum Beispiel View #
. n
Tabelle 6.1, „Schlüsselfilter-Konfigurationsschlüssel, die Anzeigeeigenschaften definieren“ führt alle Schlüssel auf, die die Anzeigeeigenschaften von Schlüsseln dieser Kategorie definieren (d. h. die Schlüssel, die im Einrichtungsdialog editiert werden können), wohingegen Tabelle 6.2, „Schlüsselfilter-Konfigurationsschlüssel, die Filterkriterien definieren“ alle Schlüssel auflistet, die die Kriterien definieren, anhand denen Filter mit Schlüsseln verglichen werden.
Tabelle 6.1. Schlüsselfilter-Konfigurationsschlüssel, die Anzeigeeigenschaften definieren
Konfigurationsschlüssel | Typ | Beschreibung |
---|---|---|
background-color | Farbe | Die zu verwendende Hintergrundfarbe. Wenn dieser Schlüssel nicht vorhanden ist, wird als Vorgabe die global definierte Hintergrundfarbe für Listenansichten verwendet. |
foreground-color | Farbe | Die zu verwendende Vordergrundfarbe. Wenn dieser Schlüssel nicht vorhanden ist, wird als Vorgabe die global definierte Vordergrundfarbe für Listenansichten verwendet. |
font | Zeichensatz | Der zu verwendende benutzerdefinierte Zeichensatz. Der Zeichensatz wird auf die für Listenansichten konfigurierte Größe skaliert, und mit Zeichensatzattributen (siehe unten) versehen. |
font-bold | Boolescher Wert | Wenn dieser Schlüssel den Wert true hat und font nicht gesetzt ist, dann wird der Standard-Listen-Zeichensatz in Fettschrift (so verfügbar) verwendet. Wenn auch font vorhanden ist, wird dieser Schlüssel ignoriert. |
font-italic | Boolescher Wert | Analog zu font-bold , aber für kursiven Schriftstil anstelle von fettem. |
font-strikeout | Boolescher Wert | Wenn dieser Schlüssel den Wert true hat, dann wird eine zentrierte Linie durch den Zeichensatz gezogen. Wird auch dann verwendet, wenn font gesetzt ist. |
icon | Text | Der Name eines Icons, das in der ersten Spalte angezeigt wird. Noch nicht implementiert. |
Tabelle 6.2. Schlüsselfilter-Konfigurationsschlüssel, die Filterkriterien definieren
Konfigurationsschlüssel | Typ | Wenn dieser Schlüssel angegeben ist, passt der Filter, wenn ... |
---|---|---|
is-revoked | Boolescher Wert | der Schlüssel widerrufen worden ist. |
match-context | Kontext[a] | der Kontext der auf diesen Filter passt. |
is-expired | Boolescher Wert | der Schlüssel abgelaufen ist. |
is-disabled | Boolescher Wert | der Schlüssel vom Benutzer deaktiviert worden ist (nicht mehr benutzt werden soll). Wird bei S/MIME-Schlüsseln ignoriert. |
is-root-certificate | Boolescher Wert | der Schlüssel ein Wurzelzertifikat ist. Wird bei OpenPGP-Schlüsseln ignoriert. |
can-encrypt | Boolescher Wert | der Schlüssel zum Verschlüsseln verwendet werden kann. |
can-sign | Boolescher Wert | der Schlüssel zum Signieren verwendet werden kann. |
can-certify | Boolescher Wert | der Schlüssel zum Signieren (Zertifizieren) anderer Schlüssel verwendet werden kann. |
can-authenticate | Boolescher Wert | der Schlüssel zur Authentifikation (etwa als TLS-Client-Zertifikat) verwendet werden kann. |
is-qualified | Boolescher Wert | der Schlüssel kann benutzt werden, um qualifizierte Signaturen zu erzeugen, wie sie im deutschen Signaturgesetz ((Gesetz über Rahmenbedingungen für elektronische Signaturen) definiert sind. |
is-cardkey | Boolescher Wert | der Schlüssel wird auf einer Chipkarte und nicht auf dem Rechner gespeichert. |
has-secret-key | Boolescher Wert | der geheime Schlüssel zu diesem Schlüsselpaar zur Verfügung steht. |
is-openpgp-key | Boolescher Wert | der Schlüssel ein OpenPGP-Schlüssel (true ) oder ein S/MIME-Schlüssel (false ) ist. |
was-validated | Boolescher Wert | der Schlüssel überprüft worden ist. |
| Gültigkeit[b] | der Schlüssel hat genau (präfix = is ), hat alle außer (präfix = is-not ), hat mindestens (präfix = is-at-least ), oder hat höchstens (präfix = is-at-most ) das Eigentümer-Vertrauen, das als Wert des Konfigurationsschlüssels angegeben ist. Wenn mehr als ein -Schlüssel (mit unterschiedlichen präfix -Werten) in einer einzigen Gruppe steht, ist das Verhalten undefiniert. |
| Gültigkeit | Entsprechend , aber für die Gültigkeit von Schlüsseln anstelle vom Eigentümer-Vertrauen. |
[a] Kontext besteht aus einer Aufzählung der folgenden zulässigen Werte: [b] Die Gültigkeit ist eine (geordnete) Aufzählung mit den folgenden zulässigen Werten: |
Anmerkung
Einige der interessanteren Kriterien wie is-revoked
oder is-expired
funktionieren nur bei validierten Schlüsseln, weswegen standardmäßig nur überprüfte Schlüssel auf Widerruf oder Ablauf geprüft werden, auch wenn es Ihnen frei steht, diese zusätzlichen Abfragen zu entfernen.
Zusätzlich zu den oben genannten Konfigurationsschlüsseln kann ein Schlüsselfilter auch noch die Attribute id
und match-contexts
haben.
Mit der id
des Filters ist überall in der Konfiguration der Zugriff auf den Schlüsselfilter möglich, z. B. in Kleopatras Konfiguration des Erscheinungsbilds. Der Standardwert der id
ist der Name der Gruppe in der Konfigurationsdatei, falls nicht anders angegeben. Der Wert darf auch nicht gesetzt sein. Die id
wird durch Kleopatra nicht verarbeitet und kann daher einen beliebigen Text enthalten, der aber eindeutig sein muss.
Das Attribut match-contexts
begrenzt die Anwendungsmöglichkeit des Filters. Es sind zurzeit zwei Kontexte definiert: appearance
wird benutzt zur Definition von Farben und Schriften für die Anzeige. Mit filtering
werden Zertifikate in der Ansicht ein- oder ausgeblendet. any
kann zur Kennzeichnung aller aktuell definierten Kontexte verwendet werden. Dies ist die Voreinstellung, wenn match-contexts
nicht definiert ist oder sich ansonsten kein Kontext ergibt. Damit wird sichergestellt, dass es keinen Filter ohne Kontext gibt.
Ein Eintrag besteht aus einer Liste von Zeichengruppen, getrennt durch Leerzeichen. Jeder Zeichengruppe kann ein Ausrufungszeichen (!
) vorangestellt werden, damit wird der Ausdruck verneint. Die Zeichengruppen werden der Reihe nach auf eine interne Liste von Kontexten angewendet, die zu Beginn leer ist. Das lässt sich am Besten an einem Beispiel erklären: any !appearance
entspricht filtering
, und appearance !appearance
ebenso wie !any
ergeben eine leere Menge. Die letzten beiden Ergebnisse werden intern durch any
ersetzt, da sie keinerlei Kontext ergeben.
Nicht angegebene Kriterien (Kriterien, deren Konfigurationsschlüssel nicht angegeben ist), werden nicht abgefragt. Wenn ein Kriterium angegeben ist, dann wird es abgefragt und muss zutreffen, damit der Filter als Ganzes zutrifft; die einzelnen Kriterien werden also UND-verknüpft.
Jeder Filter beinhaltet eine „Genauigkeit“, die alle passenden Filter bewertet. Der genauere Filter wird dem weniger genauen vorgezogen. Haben zwei Filter die gleiche Genauigkeit, wird der zuerst in der Konfigurationsdatei aufgeführte benutzt. Die Genauigkeit entspricht der Anzahl der Kriterien des Filters.
Beispiel 6.1. Beispiele für Schlüsselfilter
Um alle abgelaufenen, aber nicht widerrufenen Wurzel-Zertifikate abzufragen, würden Sie den folgenden Schlüsselfilter verwenden:
[Key Filter #n
]
Name=abgelaufen, aber nicht widerrufen
was-validated=true
is-expired=true
is-revoked=false
is-root-certificate=true
; ( specificity 4 )
Um alle deaktivierten OpenPGP-Schlüssel (derzeit noch nicht von Kleopatra unterstützt) mit einem Eigentümer-Vertrauen von mindestens „marginal“ abzudecken, verwenden Sie:
[Key Filter #n
]
Name=deaktivierte OpenPGP-Schlüssel mit einem Ownertrust von marginal oder besser
is-openpgp=true
is-disabled=true
is-at-least-ownertrust=marginal
; ( specificity 3 )