Comment les indicateurs d'utilisation de GPG sont-ils définis dans la liste des détails de clé?

58

Lorsque je liste les détails d'une clé, le résultat est le suivant:

$ gpg --edit-key SOMEID
pub [..] created: [..] expires: [..]   usage:SC
[..]
sub [..] created: [..] expires: [..]   usage: E

Ou même usage: SCAsur une autre clé (la partie master-key).

Que signifie cette abréviation dans le champ d'utilisation?

Je peux en déduire que:

S -> for signing
E -> for encrypting

Mais qu'en est-il Cet A?

Et y a-t-il plus?

Et où chercher des trucs comme ça?

maxschlepzig
la source

Réponses:

59

Ok, le manuel gpg ne semble pas mentionner ces abréviations. Ainsi, il faut regarder la source.

Par exemple sous Debian / Ubuntu:

$ apt-get source gnupg2
$ cd gnupg2-2.0.17
$ cscope -bR
$ grep 'usage: %' . -r --exclude '*po*'
$ vim g10/keyedit.c
jump to usage: %
jump to definition of `usagestr_from_pk`

A partir du code, on peut déduire le tableau suivant:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Caractère constant
───────────────────────────────
PUBKEY_USAGE_SIG S
PUBKEY_USAGE_CERT C
PUBKEY_USAGE_ENC E
PUBKEY_USAGE_AUTH A
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Ainsi, par exemple, usage: SCAsignifie que la sous-clé peut être utilisée pour la signature, pour la création d’un certificat et pour l’authentification.

maxschlepzig
la source
7
vraiment n'importe où dans les docs?
Jaime Hablutzel
@ JaimeHablutzel, avez-vous trouvé une bonne documentation à ce sujet?
Eric Fail
Non, désolé, mais la source semble être un bon endroit pour commencer
Jaime Hablutzel
15

La mise en page de la --edit-keyliste n'est pas documentée (pas que je puisse trouver de toute façon). Les abréviations que vous mentionnez sont toutefois quelque part dans les pages d’information ( info gpg).

J'ai cherché S:et trouvé ce que je voulais réellement rechercher usage:.

Dans "Options liées à la clé GPG":

4.2.1 Comment changer la configuration

Ces options sont utilisées pour modifier la configuration et se trouvent généralement dans le fichier d'options.

'--list-options parameters'

 show-usage

      Show usage information for keys and subkeys in the standard
      key listing.  This is a list of letters indicating the allowed
      usage for a key ('E'=encryption, 'S'=signing,
      'C'=certification, 'A'=authentication).  Defaults to no.

Donc, faire gpg -k --list-options show-usage 1A3ABKEYva vous montrer quelque chose comme ça:

pub   rsa4096/1A3ABKEY 2015-01-25 [SC]
uid         [ultimate] Some Key
sub   rsa4096/4B907KEY 2015-09-19 [S]
sub   rsa4096/F9A41KET 2015-09-19 [E]

Quelques informations supplémentaires se trouvent dans "Utilisation sans surveillance de GPG"

Key-Usage: USAGE-LIST

 Space or comma delimited list of key usages.  Allowed values are
 'encrypt', 'sign', and 'auth'.  This is used to generate the key
 flags.  Please make sure that the algorithm is capable of this
 usage.  Note that OpenPGP requires that all primary keys are
 capable of certification, so no matter what usage is given here,
 the 'cert' flag will be on.  If no 'Key-Usage' is specified and the
 'Key-Type' is not 'default', all allowed usages for that particular
 algorithm are used; if it is not given but 'default' is used the
 usage will be 'sign'.

Ainsi, bien que cela ne soit pas immédiatement apparent, les informations sont présentes quelque part sur votre système. Si mancela ne vous aide pas, essayez man -ket / ou info.

jeroentbt
la source
Je peux le voir sur la page de manuel de gpg 1.4.18, mais cela semble absent du manuel de gpg 2.0.28. De plus, sur les deux versions, la commande "gpg -k --list-options show-usage 1A3ABKEY" sort "gpg: option inconnue` show-usage '"
YoungFrog
@YoungFrog. Merci pour le commentaire. J'ai clarifié j'ai trouvé l'info dans les pages info. Quant à la commande ne fonctionne pas, pour moi cela fonctionne sur gpg (2.1.8). Quand j'essaie gpg1 (1.4.19), je reçois aussi gpg: unknown option 'show-usage' gpg: invalid list optionsBien que son utilisation soit documentée dans les pages d’information sur gpg1 ...
jeroentbt
5

Ces indicateurs de clé sont définis dans la spécification OpenPGP

5.2.3.21. Drapeaux Clés

(N octets de drapeaux)

Ce sous-paquet contient une liste d'indicateurs binaires contenant des informations sur une clé. C'est une chaîne d'octets, et une implémentation NE DOIT PAS assumer une taille fixe. C'est pour qu'il puisse croître avec le temps. Si une liste est plus courte que l'implémentation ne l'aurait été, les indicateurs non déclarés sont considérés comme nuls. Les drapeaux définis sont les suivants:

   First octet:

   0x01 - This key may be used to certify other keys.

   0x02 - This key may be used to sign data.

   0x04 - This key may be used to encrypt communications.

   0x08 - This key may be used to encrypt storage.

   0x10 - The private component of this key may have been split
          by a secret-sharing mechanism.

   0x20 - This key may be used for authentication.

   0x80 - The private component of this key may be in the
          possession of more than one person.
AccidentalOps
la source
5
Cela semble être une référence utile, mais cela ne répond pas vraiment à la question.
G-Man dit 'Réintégrez Monica' le
2

Enterré au plus profond de la liste de diffusion GnuPG ...

Que signifient les lettres à la droite des mots "usage"?
(S, C, A, E) Je ne peux que deviner | S | ign, | E | ncrypt, ....

(S) ign: signez des données (comme un fichier)
(C) ertify: signez une clé (on parle de certification)
(A) uthenticate: authentifiez-vous auprès d'un ordinateur (par exemple, en vous connectant)
(E) ncrypt: cryptez Les données

Elboulangero
la source
2

Le fichier DETAILS de la distribution GnuPG est une autre source d’informations .

Section " Etat 12 - Capacités clés"

Les capacités définies sont:

e
Crypter
s
Signe
c
Certifier
une
Authentification
?
Capacité inconnue

Une clé peut avoir n'importe quelle combinaison dans n'importe quel ordre. 
En plus de ces lettres, la clé primaire a des majuscules 
versions des lettres pour indiquer les capacités utilisables de l'ensemble 
et une lettre potentielle 'D' pour indiquer une clé désactivée.
Claudius B
la source