2

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

Я знаю, как указать правильные идентификаторы при создании пары ключей, поскольку gpg --gen-key специально запрашивает идентификацию. Я также знаю, как экспортировать открытый и закрытый ключи для данной личности:

gpg --export             me@somewhere.com --armour --output key.public
gpg --export-secret-keys me@somewhere.com --armour --output key.private

и что открытый ключ должен быть распространен и импортирован на принимающей стороне для проверки:

gpg --import key.public

Однако (мой первый вопрос), я не знаю, как указать конкретную пару ключей в ситуации, когда у одного идентификатора может быть более одного. Например, скажем, у нас есть две пары ключей для me@somewhere.com , одна для пакетов установки программного обеспечения и одна для безопасного доступа к оболочке. Как мне экспортировать только одну из этих пар?

Мой второй вопрос больше касается генерации и проверки подписи над документом.

Как работает команда:

gpg --detach-sig inputDoc --output detachedSigDoc

на самом деле знаете, какую пару ключей использовать для создания подписи? Я вижу, что есть --local-user который позволяет вам «указать идентификатор пользователя, который будет использоваться для подписи», но как это работает, когда для данной идентичности существует несколько пар ключей?

В любом случае, похоже, что для опции gpg --verify эквивалентной операции, так как же мы можем указать пару ключей, которая будет использоваться при проверке источника файла?

Что бы это ни стоило, мы используем GnuPG версии 1, так как мы находимся во встроенной системе.

1 ответ1

1

Подписание: я не помню, если это изменение, но на странице руководства v2 говорится, что --local-user/-u или --default-key могут указать ключ подписи. Хотя здесь это явно не указано, везде, где вам нужно идентифицировать ключ, вы можете использовать либо идентификатор пользователя (условно, но не обязательно адрес электронной почты), либо ключ. Если у вас есть несколько ключей для одного и того же идентификатора пользователя, используйте идентификатор ключа для однозначного указания.

Проверка: keyid находится в пакете подписи, и (открытый) ключ обнаруживается автоматически - если только у вас нет этого ключа в вашей связке ключей, в этом случае он говорит, что Can't check signature: No public key и если вы хотите чтобы проверить, нужно ли вам получить и импортировать ключ.

PS: Как вы можете использовать ключ GPG/PGP для SSH? AFAIK, ни OpenSSH, ни коммерческий (Tectia) SSH не могут использовать ключи формата PGP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .