Предоставление GIT информации о ключе GPG
Если вы используете ключ GPG, соответствующий удостоверению фиксации и проверенного адреса электронной почты, связанного с вашей учетной записью на GitHub.com, вы можете начать фиксации подписей и теги подписи.
Если у вас нет ключа GPG, соответствующего вашему удостоверению автора фиксаций, необходимо связать адрес электронной почты с существующим ключом. Дополнительные сведения см. в разделе "Связывание адреса электронной почты с ключом GPG".
Если у вас несколько ключей GPG, необходимо указать GIT, какой из них следует использовать.
-
Откройте ТерминалТерминалGIT Bash.
-
Если вы ранее настроили Git для использования другого формата ключа при подписании
--gpg-sign
с помощью этой конфигурации, не укажите этот формат, чтобы будет использоваться форматopenpgp
по умолчанию.git config --global --unset gpg.format
-
Команда
gpg --list-secret-keys --keyid-format=long
позволяет получить длинную форму ключей GPG, для которых у вас есть открытый и закрытый ключ. Закрытый ключ необходим для подписания фиксаций или тегов.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
Note
Для некоторых установок GPG в Linux может потребоваться
gpg2 --list-keys --keyid-format LONG
просмотреть список существующих ключей. В этом случае также нужно будет настроить Git для использованияgpg2
, выполнивgit config --global gpg.program gpg2
. -
Из списка ключей GPG скопируйте длинную форму идентификатора ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является
3AA5C34371567BD2
:Shell $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
-
Чтобы задать первичный ключ подписи GPG в Git, вставьте приведенный ниже текст, подставив идентификатор первичного ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является
3AA5C34371567BD2
:git config --global user.signingkey 3AA5C34371567BD2
Кроме того, может потребоваться использовать вложенный ключ. В этом примере идентификатором подраздела GPG является
4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3
Если вы используете несколько ключей и вложенных ключей, следует добавить восклицательный знак
!
к ключу, чтобы сообщить git, что это ваш предпочтительный ключ. Иногда может потребоваться экранировать восклицательный знак с косой чертой:\!
-
При необходимости, чтобы настроить Git для подписывания всех фиксаций по умолчанию, введите следующую команду:
git config --global commit.gpgsign true
Дополнительные сведения см. в разделе Подписание фиксаций.
-
Если вы не используете набор GPG, выполните следующую команду в оболочке
zsh
, чтобы добавить ключ GPG в файл.zshrc
, если он существует, или в файл.zprofile
:$ if [ -r ~/.zshrc ]; then echo -e '\nexport GPG_TTY=$(tty)' >> ~/.zshrc; \ else echo -e '\nexport GPG_TTY=$(tty)' >> ~/.zprofile; fi
Если вы используете оболочку
bash
, выполните следующую команду:$ if [ -r ~/.bash_profile ]; then echo -e '\nexport GPG_TTY=$(tty)' >> ~/.bash_profile; \ else echo -e '\nexport GPG_TTY=$(tty)' >> ~/.profile; fi
-
Если необходимо запрашивать ПИН-код или парольную фразу, установите
pinentry-mac
. Например, при использовании Homebrew:brew install pinentry-mac echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf killall gpg-agent
Если вы используете ключ GPG, соответствующий удостоверению фиксации и проверенного адреса электронной почты, связанного с вашей учетной записью на GitHub.com, вы можете начать фиксации подписей и теги подписи.
Если у вас нет ключа GPG, соответствующего вашему удостоверению автора фиксаций, необходимо связать адрес электронной почты с существующим ключом. Дополнительные сведения см. в разделе "Связывание адреса электронной почты с ключом GPG".
Если у вас несколько ключей GPG, необходимо указать GIT, какой из них следует использовать.
-
Откройте ТерминалТерминалGIT Bash.
-
Если вы ранее настроили Git для использования другого формата ключа при подписании
--gpg-sign
с помощью этой конфигурации, не укажите этот формат, чтобы будет использоваться форматopenpgp
по умолчанию.git config --global --unset gpg.format
-
Команда
gpg --list-secret-keys --keyid-format=long
позволяет получить длинную форму ключей GPG, для которых у вас есть открытый и закрытый ключ. Закрытый ключ необходим для подписания фиксаций или тегов.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
Note
Для некоторых установок GPG в Linux может потребоваться
gpg2 --list-keys --keyid-format LONG
просмотреть список существующих ключей. В этом случае также нужно будет настроить Git для использованияgpg2
, выполнивgit config --global gpg.program gpg2
. -
Из списка ключей GPG скопируйте длинную форму идентификатора ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является
3AA5C34371567BD2
:Shell $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
-
Чтобы задать первичный ключ подписи GPG в Git, вставьте приведенный ниже текст, подставив идентификатор первичного ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является
3AA5C34371567BD2
:git config --global user.signingkey 3AA5C34371567BD2
Кроме того, может потребоваться использовать вложенный ключ. В этом примере идентификатором подраздела GPG является
4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3
Если вы используете несколько ключей и вложенных ключей, следует добавить восклицательный знак
!
к ключу, чтобы сообщить git, что это ваш предпочтительный ключ. Иногда может потребоваться экранировать восклицательный знак с косой чертой:\!
-
При необходимости, чтобы настроить Git для подписывания всех фиксаций по умолчанию, введите следующую команду:
git config --global commit.gpgsign true
Дополнительные сведения см. в разделе Подписание фиксаций.
Если вы используете ключ GPG, соответствующий удостоверению фиксации и проверенного адреса электронной почты, связанного с вашей учетной записью на GitHub.com, вы можете начать фиксации подписей и теги подписи.
Если у вас нет ключа GPG, соответствующего вашему удостоверению автора фиксаций, необходимо связать адрес электронной почты с существующим ключом. Дополнительные сведения см. в разделе "Связывание адреса электронной почты с ключом GPG".
Если у вас несколько ключей GPG, необходимо указать GIT, какой из них следует использовать.
-
Откройте ТерминалТерминалGIT Bash.
-
Если вы ранее настроили Git для использования другого формата ключа при подписании
--gpg-sign
с помощью этой конфигурации, не укажите этот формат, чтобы будет использоваться форматopenpgp
по умолчанию.git config --global --unset gpg.format
-
Команда
gpg --list-secret-keys --keyid-format=long
позволяет получить длинную форму ключей GPG, для которых у вас есть открытый и закрытый ключ. Закрытый ключ необходим для подписания фиксаций или тегов.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
Note
Для некоторых установок GPG в Linux может потребоваться
gpg2 --list-keys --keyid-format LONG
просмотреть список существующих ключей. В этом случае также нужно будет настроить Git для использованияgpg2
, выполнивgit config --global gpg.program gpg2
. -
Из списка ключей GPG скопируйте длинную форму идентификатора ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является
3AA5C34371567BD2
:Shell $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
-
Чтобы задать первичный ключ подписи GPG в Git, вставьте приведенный ниже текст, подставив идентификатор первичного ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является
3AA5C34371567BD2
:git config --global user.signingkey 3AA5C34371567BD2
Кроме того, может потребоваться использовать вложенный ключ. В этом примере идентификатором подраздела GPG является
4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3
Если вы используете несколько ключей и вложенных ключей, следует добавить восклицательный знак
!
к ключу, чтобы сообщить git, что это ваш предпочтительный ключ. Иногда может потребоваться экранировать восклицательный знак с косой чертой:\!
-
При необходимости, чтобы настроить Git для подписывания всех фиксаций по умолчанию, введите следующую команду:
git config --global commit.gpgsign true
Дополнительные сведения см. в разделе Подписание фиксаций.
-
Чтобы добавить ключ GPG в файл запуска
.bashrc
, выполните следующую команду:[ -f ~/.bashrc ] && echo -e '\nexport GPG_TTY=$(tty)' >> ~/.bashrc
Предоставление Git информации о ключе SSH
Существующий ключ SSH можно использовать для подписывания фиксаций и тегов или создания нового ключа специально для подписывания. Дополнительные сведения см. в разделе Создание нового ключа SSH и его добавление в ssh-agent.
Note
Проверка подписи SSH доступна в Git 2.34 или более поздней версии. Сведения об обновлении версии Git см. на веб-сайте Git.
-
Откройте ТерминалТерминалGIT Bash.
-
Настройте Git, чтобы использовать SSH для подписывания фиксаций и тегов:
git config --global gpg.format ssh
-
Чтобы задать ключ подписи SSH в Git, вставьте приведенный ниже текст, заменив /PATH/TO/. SSH/KEY. PUB с путем к открытому ключу, который вы хотите использовать.
git config --global user.signingkey /PATH/TO/.SSH/KEY.PUB
Предоставление Git информации о вашем ключе X.509
Вы можете использовать smimesign для подписывания фиксаций и тегов с помощью S/MIME.
Note
Проверка подписи S/MIME доступна в Git 2.19 или более поздней версии. Сведения об обновлении версии Git см. на веб-сайте Git.
-
Установите smimesign.
-
Откройте ТерминалТерминалGIT Bash.
-
Настройте Git, чтобы использовать S/MIME для подписывания фиксаций и тегов. В Git 2.19 или более поздней версии используйте команды
git config gpg.x509.program
иgit config gpg.format
:-
Чтобы использовать S/MIME для подписывания во всех репозиториях, воспользуйтесь следующим кодом:
git config --global gpg.x509.program smimesign git config --global gpg.format x509
-
Чтобы использовать S/MIME для подписывания в одном репозитории, воспользуйтесь следующим кодом:
cd PATH-TO-REPOSITORY git config --local gpg.x509.program smimesign git config --local gpg.format x509
В Git 2.18 или более ранней версии используйте команду
git config gpg.program
: -
Чтобы использовать S/MIME для подписывания во всех репозиториях, воспользуйтесь следующим кодом:
git config --global gpg.program smimesign
-
Чтобы использовать S/MIME для подписывания в одном репозитории, воспользуйтесь следующим кодом:
cd PATH-TO-REPOSITORY git config --local gpg.program smimesign
Если вы используете ключ X.509, соответствующий вашему удостоверению вносителя фиксаций, можно начать подписывание фиксаций и тегов.
-
-
Если вы не используете ключ X.509, соответствующий вашему удостоверению вносителя фиксаций, выведите список ключей X.509, для которых у вас есть сертификат и закрытый ключ, с помощью команды
smimesign --list-keys
.smimesign --list-keys
-
В списке ключей X.509 скопируйте идентификатор сертификата ключа X.509, который вы хотите использовать. В этом примере идентификатором сертификата является
0ff455a2708394633e4bb2f88002e3cd80cbd76f
:$ smimesign --list-keys ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f S/N: a2dfa7e8c9c4d1616f1009c988bb70f Algorithm: SHA256-RSA Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US Emails: octocat@github.com
-
Чтобы задать ключ подписывания X.509 в Git, вставьте приведенный ниже текст, подставив скопированный ранее идентификатор сертификата.
-
Чтобы использовать ключ X.509 для подписывания во всех репозиториях, воспользуйтесь следующим кодом:
git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
-
Чтобы использовать ключ X.509 для подписывания в одном репозитории, воспользуйтесь следующим кодом:
cd PATH-TO-REPOSITORY git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
-
Предоставление Git информации о вашем ключе X.509
Вы можете использовать smimesign для подписывания фиксаций и тегов с помощью S/MIME.
Note
Проверка подписи S/MIME доступна в Git 2.19 или более поздней версии. Сведения об обновлении версии Git см. на веб-сайте Git.
-
Установите smimesign.
-
Откройте ТерминалТерминалGIT Bash.
-
Настройте Git, чтобы использовать S/MIME для подписывания фиксаций и тегов. В Git 2.19 или более поздней версии используйте команды
git config gpg.x509.program
иgit config gpg.format
:-
Чтобы использовать S/MIME для подписывания во всех репозиториях, воспользуйтесь следующим кодом:
git config --global gpg.x509.program smimesign git config --global gpg.format x509
-
Чтобы использовать S/MIME для подписывания в одном репозитории, воспользуйтесь следующим кодом:
cd PATH-TO-REPOSITORY git config --local gpg.x509.program smimesign git config --local gpg.format x509
В Git 2.18 или более ранней версии используйте команду
git config gpg.program
: -
Чтобы использовать S/MIME для подписывания во всех репозиториях, воспользуйтесь следующим кодом:
git config --global gpg.program smimesign
-
Чтобы использовать S/MIME для подписывания в одном репозитории, воспользуйтесь следующим кодом:
cd PATH-TO-REPOSITORY git config --local gpg.program smimesign
Если вы используете ключ X.509, соответствующий вашему удостоверению вносителя фиксаций, можно начать подписывание фиксаций и тегов.
-
-
Если вы не используете ключ X.509, соответствующий вашему удостоверению вносителя фиксаций, выведите список ключей X.509, для которых у вас есть сертификат и закрытый ключ, с помощью команды
smimesign --list-keys
.smimesign --list-keys
-
В списке ключей X.509 скопируйте идентификатор сертификата ключа X.509, который вы хотите использовать. В этом примере идентификатором сертификата является
0ff455a2708394633e4bb2f88002e3cd80cbd76f
:$ smimesign --list-keys ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f S/N: a2dfa7e8c9c4d1616f1009c988bb70f Algorithm: SHA256-RSA Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US Emails: octocat@github.com
-
Чтобы задать ключ подписывания X.509 в Git, вставьте приведенный ниже текст, подставив скопированный ранее идентификатор сертификата.
-
Чтобы использовать ключ X.509 для подписывания во всех репозиториях, воспользуйтесь следующим кодом:
git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
-
Чтобы использовать ключ X.509 для подписывания в одном репозитории, воспользуйтесь следующим кодом:
cd PATH-TO-REPOSITORY git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
-