То, что часто называют «ключом GPG», больше похоже на сертификат . Как и в X.509, сертификат содержит гораздо больше информации, чем просто ключ (и): «первичная» пара ключей и несколько «подключевых» пар ключей, а также флаги их использования и даты истечения срока действия, а также несколько идентификаторов пользователей. и удостоверения личности с фотографией вместе с их подписями.
Когда вы загружаете свою «пару ключей» на сервер ключей, вы отправляете все, что является открытым ключом, подключами, идентификаторами пользователей, подписями, как один отдельный сертификат. «Первичный» ключ идентифицирует весь сертификат; его хэш открытого ключа - это «отпечаток», который вы видите, и идентификатор ключа основан на нем. Обычно первичный ключ имеет флаги использования «Подписать» и «Сертифицировать» для подписи данных и других ключей соответственно.
По умолчанию для шифрования данных создан хотя бы один подраздел «Шифрование». Вы можете иметь несколько таких подразделов - например, с разными датами истечения. Я не смог найти хорошего источника, но, похоже, для шифрования будет выбран самый новый действительный (после даты начала и не истек / отозван) подраздел. При расшифровке данных все подключы будут опробованы.
(Возможно, вы заметили, что gpg -k
перечислены идентификаторы ключей как для ключей, так и для подразделов. Когда вам нужно принудительно использовать определенный ключ или подраздел, вы можете указать (идентификатор (ID) ключа с последующим восклицательным знаком), чтобы обойти все вычисления какой подраздел лучше.)keyid!
При желании вы можете добавить подключи, помеченные как разрешенные, в «Authenticate», которые затем можно использовать в таких протоколах, как SSH (через gpg-agent, путем извлечения необработанной пары ключей RSA) или SSL (реализованных GnuTLS в качестве альтернативы X.509). Какие подключи используются, зависит от конкретной реализации.
Вы можете увидеть полную структуру сертификата PGP, используя: