Sleutelcategorieën aanmaken en bewerken

Kleopatra stelt de gebruiker in staat om het visuele uiterlijk van toetsen gebaseerd op een concept genaamd Sleutelcategorieën. Sleutelcategorieën worden ook gebruikt om de lijst met certificaten te filteren. Deze sectie beschrijft hoe u de beschikbare categorieën kunt bewerken en nieuwe kan toevoegen.

Bij het proberen om de categorie te vinden waar een sleutel bij hoort, probeert Kleopatra om de sleutel te laten overeenkomen met een serie sleutelfilters, geconfigureerd in libkleopatrarc. De eerste die overeenkomt definieert de categorie, gebaseerd op een concept van meer specifiek, hieronder nader verklaart.

Elke sleutelfilter is gedefinieerd in een configuratiegroep genaamd Key Filter #n, waar n een getal is, beginnend bij 0.

De enige verplichte sleutels in een Key Filter #n-groep zijn Name, bevattende de naam van de categorie zoals getoond in de Instellingendialoog en id, die wordt gebruikt als een referentie naar het filter in andere instellingensecties (zoals View #n).

Tabel 6.1, “Instellingensleutels voor sleutelfilters die weergave-eigenschappen definiëren” toont alle sleutels die de weergaveeigenschappen van sleutels behorende bij die categorie (bijv. die sleutels die aangepast kunnen worden in de instellingendialoog), terwijl Tabel 6.2, “Instellingensleutels voor sleutelfilters die filtercriteria definiëren” alle sleutels die de criteria definiëren van het filter waartegen de sleutels worden gehouden.

Tabel 6.1. Instellingensleutels voor sleutelfilters die weergave-eigenschappen definiëren

ConfiguratiesleutelTypeBeschrijving
background-colorkleurDe te gebruiken achtergrondkleur. Is standaard de achtergrondkleur die globaal is gedefinieerd voor weergave van lijsten, indien deze ontbreekt.
foreground-colorkleurDe te gebruiken voorgrondkleur. Is standaard de voorgrondkleur die globaal is gedefinieerd voor weergave van lijsten, indien deze ontbreekt.
fontlettertypeHet aangepaste te gebruiken lettertype. Het lettertype zal worden geschaald tot de grootte ingesteld voor weergave van lijsten en elke attribuut van lettertypes (zie onder) zal worden toegepast.
font-boldbooleanIndien ingesteld op true en font is niet ingesteld, wordt het standaard lettertype gebruikt voor lijstweergave met de stijl vet toegevoegd (indien beschikbaar). Genegeerd als font ook aanwezig is.
font-italicbooleanAnaloog aan font-bold, maar voor de lettertypestijl cursief in plaats van vet.
font-strikeoutbooleanIndien true, tekent een gecentreerde lijn over het lettertype. Wordt zelfs toegepast als font is ingesteld.
icontekstDe naam van een pictogram om de eerste kolom te tonen. Nog niet geïmplementeerd.

Tabel 6.2. Instellingensleutels voor sleutelfilters die filtercriteria definiëren

ConfiguratiesleutelTypeIndien gespecificeerd, filter komt overeen wanneer...
is-revokedbooleande sleutel is ingetrokken.
match-contextcontext[a] de context waarin dit filter overeenkomt.
is-expiredbooleande sleutel is verlopen.
is-disabledbooleande sleutel is uitgeschakeld (gemarkeerd voor niet-gebruiken) door de gebruiker. Genegeerd voor S/MIME-sleutels.
is-root-certificatebooleande sleutel is een root-certificaat. Genegeerd voor OpenPGP-sleutels.
can-encryptbooleande sleutel kan gebruikt worden voor versleuteling.
can-signbooleande sleutel kan gebruikt worden voor ondertekening.
can-certifybooleande sleutel kan gebruikt worden voor ondertekening (certificeren) van andere sleutels.
can-authenticatebooleande sleutel kan gebruikt worden voor authenticatie (bijv. als een TLS client-certificaat).
is-qualifiedbooleande sleutel kan gebruikt worden om Qualified Signatures te maken (zoals gedefinieerd door de Duitse Digital Signature Law).
is-cardkeybooleande sleutel is opgeslagen op een smartcard (in plaats van op de computer).
has-secret-keybooleande geheime sleutel voor dit sleutelpaar is beschikbaar.
is-openpgp-keybooleande sleutel is een OpenPGP-sleutel (true) of een S/MIME-sleutel (false).
was-validatedbooleande sleutel is gevalideerd.
voorloop-ownertrustgeldigheid[b] de sleutel heeft exact (voorloop = is), heeft alles behalve (voorloop = is-not), heeft minstens (voorloop = is-at-least) of heeft hooguit (voorloop = is-at-most) het ownertrust gegeven als de waarde van de instellingssleutel. Als meer dan één sleutel voorloop-ownertrust (met een verschillende voorloop-waarde) aanwezig zijn in een enkele groep, dan is het gedrag niet gedefinieerd.
voorloop-validitygeldigheidAnaloog aan voorloop-ownertrust, maar dan voor de sleutel validity in plaats van ownertrust.

[a] Context is een opsomming met de volgende toegestane waarden: appearance, filtering and any.

[b] Geldigheid is een (geordende) opsomming met de volgende toegestane waarden: unknown, undefined, never, marginal, full, ultimate. Zie de handboeken van GPG en GpgSM voor een gedetailleerde uitleg.


Opmerking

Sommige van de meer interessante criteria, zoals is-revoked of is-expired zal alleen werken op gevalideerde sleutels, dit is waarom, standaard, alleen gevalideerde sleutels gecontroleerd worden op ingetrokken en verlopen, hoewel u vrij bent om deze extra controles te verwijderen.

Naast de boven weergegeven configuratiesleutels, kan een sleutelfilter ook een id en match-contexts hebben.

Met het gebruik van het id van het filter, die standaard de naam van de configuratiegroep van het filter heeft, indien niet gegeven of leeg, kunt u elders in de configurati aan het sleutelfilter refereren, bijv. in weergaveinstellingen van Kleopatra. De id wordt door Kleopatra niet geïnterpreteerd, zodat u elke gewenste tekenreeks kunt gebruiken, als deze maar uniek is.

De match-contexts beperkt de toepasbaarheid van het filter. Er zijn nu twee contexten gedefinieerd: De context appearance wordt gebruikt bij het definiëren van de kleuren en eigenschappen van lettertypes voor de weergaven. De context filtering wordt gebruikt om selectief certificaten mee te nemen (en uit te sluiten) in weergaven. any kan worden gebruikt om alle nu gedefinieerde contexten aan te duiden en is de standaard als match-contexts niet is gegeven of anders geen contexten oplevert. Dit verzekert dat geen sleutelfilter dead kan eindigen, bijv. zonder dat er een contexts op is toegepast.

Het formaat van het item is een lijst met tokens, gescheiden door niet-woord tekens. Elk van de tokens geeft optioneel een voorloop van een uitroepteken (!), hetgeen negatie betekent. De tokens werken in volgorde op een interne lijst met contexten, die leeg beginnen. Dit is het best uitgelegd met een voorbeeld: any !appearance is hetzelfde als filtering en appearance !appearance levert de lege verzameling, evenals !any. De laatste twee, echter, zullen intern vervangen worden door any, omdat ze helemaal geen contexts opleveren.

In het algemeen worden niet gespecificeerde criteria (bijv. het configuratie-item is niet ingesteld) niet gecontroleerd. Als er een criterium is gegeven, dan wordt er op gecontroleerd en moet als geheel overeenkomen met het filter om overeen te komen, bijv. aan alle criteria moet voldaan (en-functie).

Elk filter heeft een impliciete specificity die wordt gebruikt om alle overeenkomende filters een waardering te geven. Het meer specifieke filter wint boven minder specifieke filters. Als twee filters dezelfde specificity hebben, dan wint degene die als eerste in het instellingenbestand staat. Een specificity is evenredig aan het aantal criteria die het bevat.

Voorbeeld 6.1. Voorbeelden van sleutelfilters

Om op alle verlopen, maar niet-ingetrokken root-certificaten, te controleren zou u een sleutelfilter als volgt gedefinieerd kunnen gebruiken:

[Key Filter #n]
Name=verlopen, maar niet ingetrokken
was-validated=true
is-expired=true
is-revoked=false
is-root-certificate=true
; ( specificity 4 )

Om te controleren op alle uitgeschakelde OpenPGP-sleutels (nog niet ondersteund door Kleopatra) met eigenaarsvertrouwen van minstens marginaal, zou u moeten gebruiken:

[Key Filter #n]
Name=uitgeschakelde OpenPGP-sleutels met marginale of beter eigenaarsvertrouwen
is-openpgp=true
is-disabled=true
is-at-least-ownertrust=marginal
; ( specificity 3 )