Створення і редагування категорій ключів

У Kleopatra користувач може налаштувати візуальне представлення ключів на основі концепції з назвою Категорії ключів. Категорії ключів також використовуються для фільтрування списку сертифікатів. У цьому розділі описано редагування наявних категорій, а також способи додавання нових.

Під час пошуків категорії, до якої належить ключ Kleopatra намагається пропустити ключ крізь послідовність фільтрів ключів, які налаштовано у файлі libkleopatrarc. Збіг ключа з певним фільтром визначає категорію ключа за допомогою концепції специфічності, яку описано далі за текстом.

Кожен з фільтрів ключів визначається у групі налаштування з назвою Key Filter #n, де n є номером фільтра, нумерація розпочинається з 0.

Єдиними обов’язковими ключами у групі Key Filter #n є Name, у цьому ключі міститься назва категорії, яку буде показано у діалоговому вікні налаштування, і id, який використовується для посилання на фільтр з інших розділів налаштування (наприклад View #n).

Таблиця 6.1, «Ключі налаштування фільтрів ключів, які визначають властивості показу» містить перелік всі ключів, які визначають параметри показу ключів, які належать до відповідної категорії (тобто тих ключів, які може бути налаштовано за допомогою діалогового вікна налаштувань), а у Таблиця 6.2, «Ключі налаштування фільтра ключів, які визначають критерії фільтрування» міститься перелік всіх ключів, які визначають критерій, за яким визначається належність ключа до категорії.

Таблиця 6.1. Ключі налаштування фільтрів ключів, які визначають властивості показу

Ключ налаштуванняТипОпис
background-colorколірКолір тла, який буде використано. Якщо не вказано, типове значення кольору тла буде взято з загальних параметрів для переглядів списком.
foreground-colorколірКолір тексту, який буде використано. Якщо не вказано, типове значення кольору тексту буде взято з загальних параметрів для переглядів списком.
fontшрифтНазва нетипового шрифту. Розміри символів шрифту буде змінено відповідно до розміру, вказаного для переглядів списком, також буде застосовано всі атрибути шрифту (див. нижче).
font-boldбулевеЯкщо встановлено значення true, а значення font не встановлено, буде використано типовий шрифт перегляду списку напівжирної гарнітури (якщо таку передбачено шрифтом). Цей ключ буде проігноровано за наявності ключа font.
font-italicбулевеАналогічний до font-bold, але з використанням курсивної гарнітури замість напівжирної.
font-strikeoutбулевеЯкщо має значення true, символи шрифту буде перекреслено центральною горизонтальною рискою. Буде застосовано, навіть якщо не вказано значення для параметра font.
iconтекстНазва піктограми, яку буде показано у першому стовпчику. Ще не реалізовано.

Таблиця 6.2. Ключі налаштування фільтра ключів, які визначають критерії фільтрування

Ключ налаштуванняТипЯкщо вказано, фільтр спрацьовуватиме, якщо...
is-revokedбулевецей ключ було відкликано.
match-contextcontext[a] контекст, у якому застосовується цей фільтр.
is-expiredбулевестрок дії цього ключа вичерпано.
is-disabledбулевеключ було вимкнено (знято позначку використання) користувачем. Ігнорується для ключів S/MIME.
is-root-certificateбулевеключ є кореневим сертифікатом. Ігнорується для ключів OpenPGP.
can-encryptбулевецей ключ можна використовувати для шифрування.
can-signбулевецей ключ можна використовувати для підписування.
can-certifyбулевеключ можна використовувати для підписування (сертифікації) інших ключів.
can-authenticateбулевецей ключ можна використовувати для розпізнавання (наприклад, як клієнтський сертифікат TLS).
is-qualifiedбулевецей ключ може бути використано для створення придатних підписів (Qualified Signatures) за визначенням німецьких законів про цифровий підпис.
is-cardkeyбулеведані цього ключа зберігаються на картці пам’яті (поза межами комп’ютера).
has-secret-keyбулевезакритий ключ цієї пари доступний.
is-openpgp-keyбулевеключ належить до ключів OpenPGP (true), або є ключем S/MIME (false).
was-validatedбулевецей ключ було підтверджено.
префікс-ownertrustvalidity[b] ключ може точно відповідати (префікс = is), точно не відповідати (префікс = is-not), мати принаймні (префікс = is-at-least) або не вищий за (префікс = is-at-most) рівень надійності, який буде вказано яка значення ключа налаштування. Якщо у одній групі буде вказано декілька ключів префікс-рівень_надійності (з різними значеннями префікса), група вважатиметься невизначеною.
префікс-validityvalidityАналогічний до префікс-ownertrust, але для перевірки ключів, а не для довіри до власника.

[a] Контекстом є список з таких можливих значень: appearance, filtering і any.

[b] Validity (чинність) є (впорядкованим) переліком таких можливих значень: unknown, undefined, never, marginal, full, ultimate. Докладний опис значень можна знайти у підручниках з GPG і GpgSM.


Примітка

Найцікавіші критерії, зокрема is-revoked or is-expired, працюватимуть лише для перевірених ключів, ось чому, типово, лише перевірені ключі перевіряються на скасування і завершення строку дії, хоча ви можете і вилучити ці додаткові перевірки.

Окрім ключів налаштування, описаних вище, у фільтрі ключів можуть бути ключі id і match-contexts.

За допомогою ключа id фільтра, типовим значенням якого є назва групи налаштування фільтра, якщо вона не є порожньою, ви можете посилатися на фільтр ключів у інших місцях налаштувань, наприклад у налаштуваннях перегляду Kleopatra. Ключ id не обробляється програмою Kleopatra, отже ви можете використовувати будь-який бажаний рядок, який втім не повинен повторюватися.

Ключ match-contexts визначає обмеження застосовності фільтра. У поточній версії можна визначити дві області застосування: область застосування appearance використовується для визначення розфарбовування і властивостей шрифтів для перегляду. Область застосування filtering використовується для вибіркового включення (або виключення) сертифікатів з перегляду. Для визначення всіх визначених областей застосування можна скористатися значенням any, це значення є типовим, якщо не вказано ключа match-contexts або іншим чином не створено області застосування. Таким чином забезпечується відсутність «мертвих» фільтрів ключів, тобто фільтрів, які взагалі не застосовуються.

Форматом цього запису є список елементів, відокремлених символами, які не належать до символів слів. Кожен з елементів може мати префікс у вигляді знаку оклику (!), який позначає зміну значення елемента на протилежне. Елементи буде використано у порядку внутрішнього списку областей застосування, який на початку є порожнім. Найкраще це можна зрозуміти з прикладу: any !appearance це те саме, що і filtering, а appearance !appearance дасть порожню множину, тобто те саме, що і !any. Останні два випадки буде замінено на any, оскільки вони визначають порожні області застосування.

Загалом кажучи, невказані критерії (тобто критерії, не встановлені записом у налаштуваннях) не будуть перевірятися. Якщо критерій буде вказано, програма перевірить відповідність йому ключа, фільтр вважатиметься пройденим, якщо ключ відповідатиме всім критеріям, тобто результат відповідності буде булівським добутком результатів відповідності критеріям.

Кожен з фільтрів має власну «специфічність», яка використовується для впорядкування списку фільтрів, які було пройдено ключем. Специфічніший фільтр матиме перевагу над менш специфічним. Якщо два фільтри матимуть однаковий рівень специфічності, першим з них вважатиметься той, який першим записано у файлі налаштувань. Специфічність фільтра пропорційна до кількості критеріїв, які він містить.

Приклад 6.1. Приклади фільтрів ключів

Щоб дістати список всіх кореневих сертифікатів, строк дії яких було вичерпано, але які не було відкликано, вам слід скористатися таким фільтром ключів:

[Key Filter #n]
Name=строк дії збіг, але не відкликано
was-validated=true
is-expired=true
is-revoked=false
is-root-certificate=true
; ( specificity 4 )

Щоб дістати список всіх вимкнених ключів OpenPGP (це ще не підтримується Kleopatra), з рівнем довіри до власника не нижчим за «обмежено надійний», скористайтеся фільтром:

[Key Filter #n]
Name=вимкнені ключі OpenPGP з рівнем довіри, вищим за обмежену
is-openpgp=true
is-disabled=true
is-at-least-ownertrust=marginal
; ( specificity 3 )