Як визначені прапори використання GPG у переліку основних деталей?


58

Коли я перераховую деталі ключа, я отримую такий висновок:

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

Або навіть usage: SCAна іншій клавіші (частина головного ключа).

Що означає це абревіатура у полі використання?

Я можу отримати таке:

S -> for signing
E -> for encrypting

Але про що Cі A?

А чи є більше?

І де шукати такі речі вгору?

Відповіді:


59

Гаразд, посібник з gpg, як видається, не згадує цих скорочень. Таким чином, треба подивитися на джерело.

Наприклад, під 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`

З коду можна отримати таку таблицю:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Постійний характер
────────────────────────────────
PUBKEY_USAGE_SIG S
PUBKEY_USAGE_CERT C
PUBKEY_USAGE_ENC E
PUBKEY_USAGE_AUTH A
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Так, наприклад, usage: SCAозначає, що під ключ можна використовувати для підписання, для створення сертифіката та цілей аутентифікації.


7
насправді будь-де в документах?
Хайме Хаблуцель

@JaimeHablutzel, ти знайшов якусь хорошу документацію з цього приводу?
Eric Fail

Ні, вибачте, але джерело здається гарним місцем для початку
Хайме Хаблутцель

15

Макет --edit-keyлістингу не задокументований (не те, що я все-таки міг знайти). Однак скорочення, про які ви згадуєте, є десь на інформаційних сторінках ( info gpg).

Я шукав S:і виявив, що насправді хотів шукати usage:.

У розділі "Параметри, пов’язані з ключем GPG":

4.2.1 Як змінити конфігурацію

Ці параметри використовуються для зміни конфігурації і зазвичай знаходяться у файлі опцій.

'--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.

Отже, робити gpg -k --list-options show-usage 1A3ABKEYвам покаже щось подібне:

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]

Ще деяку інформацію можна знайти в "Безкорисливому використанні GPG"

Використання ключа: СПИСОК ВИКОРИСТАННЯ

 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'.

Отже, хоча це не відразу зрозуміло, інформація є десь у вашій системі. Якщо вам manце не допомагає, спробуйте man -kта / або info.


Я можу це бачити на сторінці для gpg 1.4.18, однак це видається відсутнім у посібнику щодо gpg 2.0.28. Крім того, в обох версіях команда "gpg -k --list-options show-use 1A3ABKEY" виводить "gpg: невідомий варіант` show-use '"
YoungFrog

@YoungFrog. Дякую за коментар Я уточнив, що знайшов інформацію на сторінках інформації. Що стосується команди, яка не працює, для мене вона працює на gpg (2.1.8). Коли я пробую gpg1 (1.4.19), я також отримую, gpg: unknown option 'show-usage' gpg: invalid list optionsхоча його використання задокументовано на інформаційних сторінках
gpg1

5

Ці ключові прапори визначені у специфікації OpenPGP

5.2.3.21. Ключові прапори

(N октетів прапорів)

Цей підпакет містить список бінарних прапорів, що містять інформацію про ключ. Це рядок октетів, і реалізація НЕ МОЖЕ приймати фіксований розмір. Це так, що може рости з часом. Якщо список коротший, ніж очікує реалізація, нестаціонарні прапори вважаються нульовими. Визначені прапори такі:

   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.

5
Це виглядає як корисна довідка, але насправді не відповідає на питання.
G-Man

2

Похований глибоко у списку розсилки GnuPG ...

Що означають літери праворуч від слів "використання"?
(S, C, A, E) Я можу лише здогадуватися | S | ign, | E | ncrypt, ....

(S) ign: підпишіть деякі дані (наприклад, файл)
(C) ertify: підпишіть ключ (це називається сертифікацією)
(A) uthenticate: автентифікуйте себе на комп'ютері (наприклад, увійти в систему)
(E) ncrypt: encrypt дані


2

Іншим джерелом інформації є файл DETAILS у дистрибутиві GnuPG .

У розділі "Поле 12 - Ключові можливості" зазначено

Визначені можливості:

е
Шифрувати
с
Знак
c
Сертифікувати
а
Аутентифікація
?
Невідома можливість

Ключ може мати будь-яку їх комбінацію в будь-якому порядку. 
Окрім цих літер, у первинному ключі є великі регістри 
версії листів для позначення корисних можливостей цілого 
клавішу та потенційну букву "D", яка вказує на відключений ключ.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.