Как определяются флаги использования 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 2 (GPG_ERR_UNKNOWN_PACKET)?
  • Как я могу вводить пароль только один раз, когда gpg расшифровывает файлы в пакетном режиме
  • Разочарованный с меткой и подписью GPG
  • gpg2 не будет импортировать файлы .key: не найдены действительные данные OpenPGP
  • Есть ли способ редактировать защищенный паролем файл без повторного ввода пароля?
  • Шифрование каталогов с помощью gpg
  • Как быстро генерировать (небезопасные) ключи GPG?
  • Как восстановить /etc/apt/trustdb.gpg на Debian?
  • Как изменить ключ GPG, используемый в kwallet?
  • Не удается обновить Manjaro во время chroot
  • Как узнать, с какими GPG-ключами был подписан пакет RPM?
  • Interesting Posts

    Задачи автоматизации для системных администраторов

    Где определяется `exit`?

    Поиск среднего значения, исключая первую строку

    fail2ban работает, но для него нет файла журнала fail2ban.log

    Как сказать mutt не ждать, пока программа вложений вернется?

    Как установить Skype на Debian 8?

    Группировать и блокировать определенные окна в рабочей области в Gnome 3

    Восстановить полную команду, сгенерированную дампом ядра

    Что эквивалентно Active Directory в Linux

    Использование переменной bash с escape-символом в awk для извлечения строк из файла

    Как я могу переопределить выбор xrandr ниже предпочтительного разрешения?

    Удалите строки между двумя шаблонами, но только если у них есть определенная строка между ними

    SCP от удаленного к локальному не работает

    «Ошибка синтаксиса: неожиданный конец файла» при выполнении сценария bash

    Советы по автоматическому обновлению программного обеспечения в OpenSuse (zypper)

    Linux и Unix - лучшая ОС в мире.