Зашифруйте и подпишите с определенным секретным ключом


20

У меня есть ключ смарт-карты OpenPGP (YubiKey NEO), а также локальный секретный ключ, установленный в моей связке ключей GnuPG.

Я хотел бы зашифровать и подписать файл ключом моей карты, а не ключом в моей связке ключей. Как я могу указать, какой ключ я хотел бы подписать?

Если у меня есть идентификатор секретного ключа файловой системы, DEADBEEFа ключ смарт-карты - DEADBEE5как подписать этот ключ?

Ответы:


11

Вы должны указать --default-key:

gpg -s --default-key DEADBEE5 input > output

и проверить потом с

gpg -d < output | head -1

Со gpg manстраницы ( --signраздела):

Ключ, который будет использоваться для подписи, выбирается по умолчанию или может быть установлен с помощью параметров --local-user и --default-key.


gpg: conflicting commandsкогда я пытаюсь зашифровать и подписать.
— Нафтули Кей

@NaftuliTzviKay Извините - ключ -sign для подписи других ключей с определенным ключом. Я обновил ответ (и протестировал заранее на этот раз).
— Anthon

--default-*имеет мало смысла в командной строке. Эти параметры предназначены для файла конфигурации.
— Хауке Лагинг

1
Разница между --local-userи --default-keyзаключается в том, что --local-userэто даст ошибку, если вы укажете несуществующий ключ. С помощью --default-keyон будет игнорировать несуществующий ключ и использовать первый ключ в связке ключей.
— Висбуки

15

Ключ подписи выбирается с помощью -u/ --local-user:

gpg --local-user 0xDEADBEE5 --sign file

Эта опция может быть задана несколько раз для объединения подписей нескольких ключей:

gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file

Согласно man-странице использование --local-userаналогично использованию --default-userв моем ответе
— Anthon

1
@Anthon Это приводит к тому же результату. Это не значит, что это --default-*следует рекомендовать для такого использования. Я был в списке рассылки GnuPG в течение многих лет. Я никогда не видел ничего подобного раньше.
— Хауке Лагинг

Ну да, похоже , вопрос пришел однажды на GNUPG пользователей , и что вы , где тот , кто дал ответ с вашим чтением страницы человека ;-). Для меня указание параметра с -keyего именем кажется гораздо более подходящим, когда я хочу использовать определенный ключ, чем указание чего-либо с помощью -userYMMV.
— Энтон

4
Я думаю, что @Anthon имел --default-keyв виду в своем комментарии выше. Работая с этим, одно из различий между мной --local-userи --default-keyмоим опытом состоит в том, что первый отказывает, если соответствующий ключ отсутствует, а второй - к другим ключам. По этой причине я бы очень осторожно вставлял --default-keyсценарии.
— Джек О'Коннор

Я протестировал и подтвердил комментарий @ JackO'Connor с помощью gpg 2.2.4. Человек для --default-keyговоритIf there is no secret key available for any of the specified values, GnuPG will not emit an error message but continue as if this option wasn't given.
— Wisbucky
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.