Kleopatra позволяет пользователям настраивать внешний вид ключей в списке с помощью Категорий ключей. Категории ключей также используются для фильтрации списка сертификатов. В этом разделе описан процесс изменения доступных категорий и добавления новых.
При определении категории ключа Kleopatra последовательно применяет к ключу фильтры, описанные в файле libkleopatrarc. Первый фильтр, которому соответствует ключ, определяет его категорию (на основе концепции точности, о которой рассказывается далее).
Каждый фильтр ключей определяется группой параметров под названиемKey Filter #, где nn — номер (нумерация начинается с нуля).
Единственные обязательные ключи группы Key Filter # — nName (определяет имя категории, отображаемое в диалоге настройки) и 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-context | контекст[a] | контекст, в котором используется этот фильтр. |
is-expired | логический | ключ устарел. |
is-disabled | логический | использование ключа было отменено пользователем (ключ помечен как неиспользуемый). Игнорируется для ключей S/MIME. |
is-root-certificate | логический | ключ является корневым сертификатом. Игнорируется для ключей OpenPGP. |
can-encrypt | логический | ключ можно использовать для шифрования. |
can-sign | логический | ключ можно использовать для создания подписи. |
can-certify | логический | ключ можно использовать для подписывания (сертификации) других ключей. |
can-authenticate | логический | ключ можно использовать для аутентификации (например, сертификат клиента TLS). |
is-qualified | логический | ключ можно использовать для создания квалифицированных подписей (в соответствии с определением в немецком законе о цифровой подписи). |
is-cardkey | логический | материал ключа хранится на смарт-карте (а не на компьютере). |
has-secret-key | логический | для этой пары ключей доступен закрытый ключ. |
is-openpgp-key | логический | ключ является ключом OpenPGP (true) или S/MIME(false). |
was-validated | логический | ключ был проверен. |
| проверка владельца[b] | Результат проверки владельца ключа соответствует указанному, (префикс = is), не содержит указанного (префикс = is-not), не меньше указанного (префикс = is-at-least) или не больше указанного (префикс = is-at-most), то считается, что ключу можно доверять. Если группа включает более одного параметра (с различными значениями префикс), то поведение не определено. |
| проверка владельца | Аналогично , но используется для проверки действительности ключа. |
[a] Контекст — это перечисление со следующими допустимыми значениями: [b] Возможны следующие результаты проверки владельца: | ||
Примечание
Некоторые критерии, например, is-revoked и 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 )