Сделай так, чтобы git попросил Клеопатру разблокировать ключ GPG для определенного адреса электронной почты.

395
Jeroen

Я на машине с Windows 10 с установленными Gpg4win и Kleopatra, а также с самой последней версией git. В Kleopatra у меня загружены два сертификата OpenPGP, скажем, для этих писем:

  • john.doe@example.com с Key-ID AAABBBCC
  • johnny@example.org с Key-ID FFF00011

У меня есть глобальный конфиг Git с этими настройками:

  • commit.gpgsign=true
  • user.email=john.doe@example.com

Но у меня есть репозиторий git config с другим, более конкретным параметром электронной почты:

  • user.email=johnny@example.org

Но когда я пытаюсь зафиксировать что-либо в этом хранилище, я получаю всплывающее окно pinentry-qt с таким сообщением:

Пожалуйста, введите ключевую фразу, чтобы разблокировать секретный ключ OpenPGP: 4096-битный ключ RSA "John Doe", ID 88888888AAABBBCC, создан 2018-04-10.

Есть ли способ заставить git запрашивать сертификат, специфичный для электронной почты, которую я использовал? В противном случае, возможно, есть способ настроить идентификатор gpgsign для каждого хранилища?

0

1 ответ на вопрос

0
Jeroen

После еще нескольких поисков я нашел несколько git configвариантов, связанных с GPG, в том числе один, чтобы делать именно то, что я хочу:

git config user.signingKey FFF00011 

Обратите внимание, что это настраивает параметр, который будет передан программе GPG (в данном случае Kleopatra), который будет выбран правильно, если вы используете то, Key-IDчто Kleopatra показывает вам для сертификата, который вы хотите использовать.