Как определяются флаги использования GPG в списке ключевых данных?

Когда я перечисляю детали ключа, я получаю вывод следующим образом:

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

Или даже usage: SCA на другой клавише (часть главного ключа).

Что означает эта аббревиатура в поле использования?

Я могу получить следующее:

 S -> for signing E -> for encrypting 

Но как насчет C и A ?

И есть ли еще?

И где искать такие вещи?

4 Solutions collect form web for “Как определяются флаги использования GPG в списке ключевых данных?”

Ок, руководство 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 означает, что под-ключ может использоваться для подписи, для создания сертификата и целей аутентификации.

Макет списка --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 .

Эти ключевые флаги определены в спецификации 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. 

Погрузился в список рассылки GnuPG …

Что означают буквы справа от слов «использование»?
(S, C, A, E) Я могу только догадываться | S | ign, | E | ncrypt, ….

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

  • Как импортировать ключи с сервера ключей с помощью gpg в debian?
  • GnuPG 2.1.20. Передача агента ssh с yubikey на OSX не выполняется
  • Почему выброс scdaemon из-под контроля?
  • gpg2 pinentry терпит неудачу без X
  • Использование GPG для дешифрования зашифрованных файлов Symantec PGP?
  • gnupg сломан после отключения питания
  • Как я могу сказать Mutt, чтобы попросить кодовую фразу gpg?
  • как проверить подпись openpgp (gpg) против набора блоков открытых ключей
  • Есть ли способ запустить зашифрованный (GPG) файл на лету в сценарии?
  • Почему параметры ключа gpg не отображаются при генерации ключа?
  • Как настроить сервер ключей и порт навсегда
  • Linux и Unix - лучшая ОС в мире.