Atunci când listez detaliile unei chei, obțin o ieșire de genul acesta:
$ gpg --edit-key SOMEID
pub [..] created: [..] expires: [..] usage:SC
[..]
sub [..] created: [..] expires: [..] usage: E
Sau chiar usage: SCA
pe o altă cheie (partea de cheie principală).
Ce înseamnă aceste abrevieri din câmpul de utilizare?
Eu pot să deduc că:
S -> for signing
E -> for encrypting
Dar ce se întâmplă cu C
și A
?
Și mai sunt și altele?
Și unde să caut chestii de genul ăsta ?
Ok, manualul gpg nu pare să menționeze aceste abrevieri. Astfel, trebuie să ne uităm la sursă.
De exemplu, sub 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`
Din cod se poate obține următorul tabel:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Constant Character ─────────────────────────────── PUBKEY_USAGE_SIG S PUBKEY_USAGE_CERT C PUBKEY_USAGE_ENC E PUBKEY_USAGE_AUTH A ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Astfel, de exemplu, usage: SCA
înseamnă că subcheia poate fi utilizată pentru semnare, pentru crearea unui certificat și în scopuri de autentificare.
- într-adevăr undeva în documentație? – > Por Jaime Hablutzel.
- @JaimeHablutzel, ați găsit vreo documentație bună în acest sens? – > Por Eric Fail.
- Nu, îmi pare rău, dar sursa pare a fi un loc bun pentru a începe – > Por Jaime Hablutzel.
- nu vă încredeți niciodată în documentație. codul sursă este singurul și ultimul adevăr. – > Por ratijas.
Aranjamentul de --edit-key
listarea nu este documentată (oricum, nu din câte am putut găsi). Abrevierile pe care le menționați însă sunt, undeva în paginile de informații (info gpg
).
Am căutat S:
și am constatat că, de fapt, voiam să caut usage:
.
În „Opțiuni legate de cheia GPG”:
4.2.1 Cum se modifică configurația
Aceste opțiuni sunt utilizate pentru a modifica configurația și se găsesc, de obicei, în fișierul de opțiuni.
'--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.
Așadar, făcând gpg -k --list-options show-usage 1A3ABKEY
vă va arăta ceva de genul acesta:
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]
Mai multe informații se găsesc în „Unattended Usage of GPG” (Utilizarea nesupravegheată a 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'.
Așadar, deși nu sunt vizibile imediat, informațiile se află acolo, undeva, pe sistemul dumneavoastră. Dacă man
nu vă ajută, încercați man -k
și/sau info
.
- Văd acest lucru pe pagina de manual pentru gpg 1.4.18, însă pare să lipsească din manualul pentru gpg 2.0.28. În plus, pe ambele versiuni, comanda „gpg -k –list-options show-usage 1A3ABKEY” produce „gpg: unknown option `show-usage'” – > .
- @YoungFrog. Vă mulțumim pentru comentariu. Am clarificat că am găsit informațiile în paginile de informații. În ceea ce privește comanda care nu funcționează, pentru mine funcționează pe gpg (2.1.8). Când încerc cu gpg1 (1.4.19), primesc și eu
gpg: unknown option 'show-usage' gpg: invalid list options
Cu toate că utilizarea sa este documentată în paginile de informații din gpg1… – > .
Aceste indicatori de cheie sunt definiți în OpenPGP spec
5.2.3.21. Indicatori de cheie
(N octeți de steaguri)
Acest subpachet conține o listă de stegulețe binare care conțin informații despre o cheie. Este un șir de octeți, iar o implementare NU TREBUIE să presupună o dimensiune fixă. Acest lucru se face pentru ca acesta să poată crește în timp. În cazul în care o listă este mai scurtă decât se așteaptă o implementare, stegulețele nespecificate sunt considerate ca fiind zero. Stegulețele definite sunt următoarele:
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.
- Aceasta pare a fi o referință utilă, dar nu răspunde cu adevărat la întrebare. – > .
Îngropat adânc în GnuPG mailing-list…
Ce înseamnă literele din dreapta cuvintelor „usage”?
(S,C,A,E) Pot doar să ghicesc |S|ign, |E|ncrypt, ….(S)ign: semnează anumite date (cum ar fi un fișier)
(C)ertify: semnează o cheie (se numește certificare).
(A)uthenticate: a vă autentifica pe un computer (de exemplu, pentru a vă autentifica).
(E)ncrypt: criptarea datelor.
O altă sursă de informații este DETALII din fișierul distribuția GnuPG.
Secțiunea „Câmpul 12 – Capacități ale cheilor” precizează
The defined capabilities are: e Encrypt s Sign c Certify a Authentication ? Unknown capability A key may have any combination of them in any order. In addition to these letters, the primary key has uppercase versions of the letters to denote the usable capabilities of the entire key, and a potential letter ‘D’ to indicate a disabled key.
- 0x01 „C” Certificare cheie
- 0x20 „A” Autentificare
Pentru mai multe informații despre aceste indicatoare de chei, a se vedea Subpachetul cu steaguri de cheie din secțiunea acest articol.
- „Linkurile sunt fantastice, dar nu ar trebui să fie niciodată singura informație din răspunsul dumneavoastră.” – > .