unusable public key
Сделал так:
gpg --import public.key
gpg --edit-key sales@domen.com
gpg (GnuPG) 1.4.5; Copyright © 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
pub 1024D/32874816 created: 2007-04-27 expires: never usage: SCA
trust: unknown validity: unknown
Command> fpr
pub 1024D/32874816 2007-04-27 domen.com (orders) <sales@domen.com>
Primary key fingerprint: 4EAD 4CB8 BA38 5590 0826 FF55 4189 0B2D 3287 4816
Command> sign
pub 1024D/32874816 created: 2007-04-27 expires: never usage: SCA
trust: unknown validity: unknown
domen.com (orders) <sales@domen.com>
Are you sure that you want to sign this key with your
key "Maxx gritsay (aleluya) <maxx@ggg.com>" (04AE1F6D)
Really sign? (y/N) y
You need a passphrase to unlock the secret key for
user: "Maxx gritsay (aleluya) <maxx@ggg.com>"
1024-bit DSA key, ID 04AE1F6D, created 2007-04-27
Command> check
uid domen.com (orders) <sales@domen.com>
sig!3 32874816 2007-04-27 [self-signature]
sig! 04AE1F6D 2007-05-04 Maxx gritsay (aleluya) <maxx@ggg.com>
Command> quit
Save changes? (y/N) y
sgrebnev@devel:> gpg --list-keys
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 1 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1 valid: 1 signed: 0 trust: 1-, 0q, 0n, 0m, 0f, 0u
/home/sgrebnev/.gnupg/pubring.gpg
pub 1024D/04AE1F6D 2007-04-27
uid Maxx gritsay (aleluya) <maxx@ggg.com>
sub 2048g/BC6E639A 2007-04-27
pub 1024D/32874816 2007-04-27
uid domen.com (orders) <sales@domen.com>
При попытке зашифровать сообщение ключем domen.com получаю ошибку:
gpg: sales@domen.com: skipped: unusable public key
gpg: [stdin]: encryption failed: unusable public key
сгенерирован ключ программой Version: GnuPG v1.0.6
импортирован в: gpg (GnuPG) 1.4.5
Unusable — не то же самое, что untrusted: программа сообщает, что ключ непригоден к использованию, а не имеет недостаточное доверие. Скорее всего, ключ не имеет шифровального подключа. Выполните команду gpg --with-colons --list-keys 0x32874816 и разместите здесь результат.
sgrebnev@devel:> gpg --with-colons --list-keys 0x32874816
tru::1:1178290726:0:3:1:5
pub:f:1024:17:41890B2D32874816:2007-04-27:::-:domen.com (orders) <sales@domen.com>::scaSCA:
для чего ключу нужен шифровальный подключ?
Ключ 0x32874816 может использоваться только для SCA – Sign Certify Authentication. Для того чтобы вы могли зашифровать сообщение этим публичным ключём он должен иметь использование E – encryption. Если главный (primary) ключ был создан без этого свойства (как в вашем случае), то владелец может создать дополнительный подключ для шифрования.
Такое разделение в позволяет гибче управлять например сроком годности для шифровального и подписывающего ключа отдельно. Вообще при создании ключа gnupg предлагает на выбор варианты и там указано – какой годится для sign only, а какой для encrypt and sign.
Для зашифрования данных этим ключом. Это отмечено в предпоследнем поле листинга (значение scaSCA): чтобы ключ был пригоден для шифрования, там, помимо прочего, должна быть буква 'E'.
Исправить проблему нетрудно — попросите владельца ключа сгенерировать для него шифровальный подключ:
а с private key такая ситуация возможна?
т.е. можно pivate key экспортировать так, чтобы он только проверял подписи, а не расшифровывал данные.
Если можно, то как это поверить?
Для этого нужно экспортировать только главную (primary) закрытую часть ключа без закрытого шифровального подключа. В принципе, должно быть возможно, но сам я этого не проверял. Обратитесь к /Черновики/Руководства/Безопасность/УправлениеКлючами/ПодключиOpenPGP.