Whole document tree
    

Whole document tree

Обмен ключами

Обмен ключами

Для общения с кем-либо, вы должны обменяться ключами. Просмотреть список имеющихся открытых ключей, можно используя команду --list-keys.

alice% gpg --list-keys
/users/alice/.gnupg/pubring.gpg
---------------------------------------
pub  1024D/BB7576AC 1999-06-04 Alice (Judge) <alice@cyb.org>
sub  1024g/78E9A8FA 1999-06-04

Экспорт открытого ключа

Перед тем как послать открытый ключ кому-либо, Вы должны его экспортировать. Для этого используйте команду --export. Ей требуется, дополнительно, аргумент, идентифицирующий экспортируемый открытый ключ, как и --gen-revoke.

alice% gpg --output alice.gpg --export alice@cyb.org

Ключ экспортируется в двоичном формате, что бывает неудобно. GnuPG имеет опцию командной строки --armor, которая указывает на необходимость вывода в формате ASCII. Практически любой вывод GnuPG, т.е. ключи, зашифрованные документы, подписи, может происходить в формате ASCII.[1]

alice% gpg --armor --export alice@cyb.org
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v0.9.7 (GNU/Linux)
Comment: For info see http://www.gnupg.org

[...]
-----END PGP PUBLIC KEY BLOCK-----

Импорт открытого ключа

Открытый ключ может быть добавлен к множеству Ваших открытых ключей при помощи команды --import.

alice% gpg --import blake.gpg
gpg: key 9E98BC16: public key imported
gpg: Total number processed: 1
gpg:               imported: 1
alice% gpg --list-keys
/users/alice/.gnupg/pubring.gpg
---------------------------------------
pub  1024D/BB7576AC 1999-06-04 Alice (Judge) <alice@cyb.org>
sub  1024g/78E9A8FA 1999-06-04

pub  1024D/9E98BC16 1999-06-04 Blake (Executioner) <blake@cyb.org>
sub  1024g/5C8CBD41 1999-06-04

Достоверность импортированного ключа должна быть подтверждена. GnuPG использует гибкую и мощную модель проверки подлинности, не требующую, чтобы Вы лично проверяли достоверность каждого импортированного ключа. Тем не менее, достоверность некоторых ключей Вам придется проверить самому. Сначала проверяются отпечатки(fingerprint) ключа, затем он заверяется подписью, для подтверждения того, что ключ достоверен. Отпечатки ключа можно быстро просмотреть командой --fingerprint, но для заверения ключа Вы должны отредактировать его.
alice% gpg --edit-key blake@cyb.org

pub  1024D/9E98BC16  created: 1999-06-04 expires: never      trust: -/q
sub  1024g/5C8CBD41  created: 1999-06-04 expires: never     
(1)  Blake (Executioner) <blake@cyb.org>

Command> fpr
pub  1024D/9E98BC16 1999-06-04 Blake (Executioner) <blake@cyb.org>
             Fingerprint: 268F 448F CCD7 AF34 183E  52D8 9BDE 1A08 9E98 BC16
Отпечатки ключа проверяются его владельцем. Это может быть сделано при личной встрече, по телефону, или любым другим способом, гарантирующим, что Вы общаетесь с владельцем ключа. Если отпечатки полученные Вами совпадают с указанными владельцем ключа, то можете быть уверены, что обладаете достоверной копией ключа.

После проверки отпечатков Вы можете подписать ключ. Так как проверка ключа слабое звено в криптографии с открытым ключом, то Вы должны быть совершенно уверены в ключе перед тем, как его подписывать, и всегда проверяйте отпечатки.

Command> sign
             
pub  1024D/9E98BC16  created: 1999-06-04 expires: never      trust: -/q
             Fingerprint: 268F 448F CCD7 AF34 183E  52D8 9BDE 1A08 9E98 BC16

     Blake (Executioner) <blake@cyb.org>

Are you really sure that you want to sign this key
with your key: "Alice (Judge) <alice@cyb.org>"

Really sign?

Подписав ключ, Вы можете просмотреть список подписей на ключе и увидеть там добавленную Вами. Каждый идентификатор пользователя ключа подписан этим ключом и каждым пользователем, заверившим этот ключ.

Command> check
uid  Blake (Executioner) <blake@cyb.org>
sig!       9E98BC16 1999-06-04   [self-signature]
sig!       BB7576AC 1999-06-04   Alice (Judge) <alice@cyb.org>

[1]

Многие, часто используемые, опции командной строки могут быть установлены в файле конфигурации.