Crear y editar categorías de claves

Kleopatra permite al usuario configurar la apariencia visual de las claves, basándose en un concepto llamado Categorías de claves. Las Categorías de claves se emplean también para filtrar las listas de certificados. Esta sección describe cómo puede editar las categorías disponibles y añadir otras nuevas.

Cuando intenta localizar la categoría a la que pertenece una clave, Kleopatra intenta hacer coincidir la clave con una secuencia de filtros de claves, configurados en el archivo libkleopatrarc. El primero que coincide define la categoría, basado en el concepto de especificado explicado ampliamente más abajo.

Cada filtro de clave está definido en un grupo de configuración llamado Key Filter #n, en el que n es un número, que comienza por el 0.

La única clave obligatoria en un grupo Key Filter #n son Name (n.t. nombre), que contiene el nombre de la categoría que se mostrará en el diálogo de configuración e id, que se utiliza como referencia al filtro en otras secciones de configuración (comoVer #n).

Tabla 6.1, “Configuración de filtro de claves Definir las propiedades de visualización” lista todas las claves que definen las propiedades de visualización de claves que pertenecen a esa categoría (es decir las claves que se pueden ajustar en el diálogo de configuración), mientras que Tabla 6.2, “Configuración de filtros de claves Definir claves Criterios de filtrado” lista todas las claves que definen los criterios con los que el filtro empareja las claves.

Tabla 6.1. Configuración de filtro de claves Definir las propiedades de visualización

Configurar claveTipoDescripción
background-colorcolorEl color de fondo que se va a usar. Si no se indica, por omisión toma el valor del color de fondo definido globalmente para las vistas de lista.
foreground-colorcolorEl color de primer plano que se va a usar. Si no se indica, por omisión toma el valor del color de primer plano definido globalmente para las vistas de lista.
fontfont (n.t. tipo de letra)El tipo de letra personalizado que se va a usar. El tipo de letra se escalará hasta el tamaño configurado para las vistas de lista y se aplicarán los atributos de tipos de letra (se explican más abajo).
font-boldboolean (n.t. booleano)Si está definido como true (n.t. cierto) y font no está definido, usa el tipo de letra predeterminado de la vista de lista con el estilo de negrita añadido (si está disponible). Se ignora si también está presente font.
font-italicboolean (n.t. booleano)Igual que font-bold, pero con el estilo de cursiva en lugar de negrita.
font-strikeoutboolean (n.t. booleano)Si es true (n.t. cierto), dibuja una línea por encima del tipo de letra. Se aplica aunque esté definida font.
iconotext (n.t. texto)El nombre del icono que se muestra en la primera columna. Aún no implementado.

Tabla 6.2. Configuración de filtros de claves Definir claves Criterios de filtrado

Configurar claveTipoSi se especifica, los filtros coinciden cuando…
is-revokedboolean (n.t. booleano)la clave ha sido revocada.
match-contextcontext[a] el contexto en el que este filtro encaja.
is-expiredboolean (n.t. booleano)la clave ha caducado.
is-disabledboolean (n.t. booleano)el usuario ha desactivado la clave (marcada para que no se use). Se ignora para claves S/MIME.
is-root-certificateboolean (n.t. booleano)la clave es un certificado raíz. Se ignora para claves OpenPGP.
can-encryptboolean (n.t. booleano)la clave se puede usar para cifrar.
can-signboolean (n.t. booleano)la clave se puede usar para firmar.
can-certifyboolean (n.t. booleano)la clave se puede usar para firmar (certificar) otras claves.
can-authenticateboolean (n.t. booleano)la clave se puede usar para autenticación (por ejemplo, como un certificado de cliente TLS).
is-qualifiedboolean (n.t. booleano)la clave puede usarse para hacer firmas cualificadas (como se definen en la ley alemana de firma digital).
is-cardkeyboolean (n.t. booleano)la clave física se guarda en una tarjeta inteligente (en lugar de en el equipo).
has-secret-keyboolean (n.t. booleano)está disponible la clave secreta para este par de claves.
is-openpgp-keyboolean (n.t. booleano)la clave es una clave OpenPGP (true - n.t. cierto) o una clave S/MIME (false - n.t. falso).
was-validatedboolean (n.t. booleano)la clave ha sido validada.
prefix-ownertrustvalidity (validez)[b] la clave tiene exactamente (prefix = is) lo tiene todo, salvo (prefix = is-not) tiene al menos (prefix = is-at-least) o tiene a lo sumo (prefix = is-at-most) el ownertrust (n.t. confianza del propietario) le da el valor de la clave de configuración. Si hay más de una claveprefix-ownertrust (con diferentes valores para prefix - prefijo) en un solo grupo, el comportamiento no está definido.
prefix-validityvalidity (validez)Parecido a prefix-ownertrust, pero para la validez de las claves en lugar de para la confianza del propietario.

[a] Contexto es una enumeración con los siguientes valores posibles: apariencia, filtrado y cualquiera.

[b] La validez (validity) es una enumeración ordenada con los siguientes valores: unknown (desconocido), undefined (no definido), never (nunca),marginal, full (completo), ultimate (definitivo). Puede dirigirse a los manuales de GPG y GpgSM para tener acceso a una explicación detallada.


Nota

Algunos de los criterios más interesantes, como is-revoked (está revocada) o is-expired (ha caducado) solo funcionarán con claves validadas, de ahí que, de forma predeterminada, solo se compruebe la validez de las claves para la revocación y la caducidad, aunque usted pueda eliminar estas comprobaciones extra.

Además de las claves configuradas listadas arriba, una clave de filtro puede también tenerid y match-contexts.

Al usar el id del filtro, el cual por omisión es igual al nombre del grupo configurado si no se especifica o está vacío, usted puede hacer referencia al filtro clave en cualquier punto de la configuración, por ejemplo en la configuración Ver de Kleopatra. El id no es interpretado por Kleopatra, así que puede utilizar cualquier cadena que desee, siempre que sea única.

match-contexts limita la aplicabilidad del filtro. En la actualidad hay definidos dos contextos: El contexto apariencia se utiliza cuando se definen propiedades de color y tipo de letra para las vistas. El contexto filtrado se utiliza para incluir (y excluir) selectivamente certificados de las vistas. cualquiera puede usarse para significar cualquiera de los contextos definidos actualmente y es el valor predeterminado si no se proporciona match-contexts o de otro modo no presenta contextos. Esto asegura que ningún filtro de clave puede finalizar muerto, es decir con ningún contexto aplicable.

El formato de la entrada es una lista de elementos, separados por caracteres no-palabras. Cada uno de los elementos puede estar precedido opcionalmente por una exclamación (!), lo que indica negación. Los elementos actúan en orden en una lista interna de contextos, que comienza vacía. Esto se explica mejor mediante un ejemplo: cualquier !apariencia es lo mismo que filtrado y apariencia !apariencia produce un conjunto vacío, igual que !cualquiera. Sin embrago, los dos últimos serán remplazados internamente por cualquiera, puesto que en definitiva no producen contextos.

En general, los criterios no especificados (es decir la entrada de configuración no está definida) no se comprueban. Si se proporciona un criterio, se comprueba y debe coincidir con el filtro por completo para que se haga coincidir, es decir los criterios Y juntos.

Cada filtro tiene una especificidad implícita que se usa para jerarquizar todos los filtros que encajen. El filtro más específico gana sobre los menos específicos. Si dos filtros tienen la misma especificidad, gana el que está primero en el archivo de configuración. La especificidad de un filtro es proporcional al número de criterios que contiene.

Ejemplo 6.1. Ejemplos de filtros de claves

Para comprobar todos los certificados raíz caducados, pero no revocados, usted podría usar un filtro de claves definido de la siguiente forma:

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

Para comprobar que todas las claves OpenPGP desactivadas (Kleopatra aún no lo admite) tienen una confianza del propietario al menos marginal, usted debería usar:

[Key Filter #n]
Name=disabled OpenPGP keys with marginal or better ownertrust
is-openpgp=true
is-disabled=true
is-at-least-ownertrust=marginal
; ( specificity 3 )