天天看點

git 檢視自己秘鑰_将您的簽名密鑰告知 Git

如果使用的 GPG 密鑰比對送出者身份以及與 GitHub 帳戶關聯的已驗證電子郵件位址,則您可以開始對送出和标記簽名。

如果您沒有與送出者身份比對的 GPG 密鑰,則需要将電子郵件與現有密鑰關聯。 更多資訊請參閱“将電子郵件與 GPG 密鑰關聯”。

如果您有多個 GPG 密鑰,則需要告知 Git 要使用哪一個。

打開 Terminal(終端)Terminal(終端)Git Bash。

使用 gpg --list-secret-key--keyid-form LONG 指令列出您擁有其公鑰和私鑰的 GPG 密鑰。 簽名送出或标記需要私鑰。

$ gpg --list-secret-keys --keyid-format LONG

注:Linux上的一些 GPG 安裝可能需要使用 gpg2 --list-keyid-form LONG 檢視您現有密鑰的清單。 在這種情況下,您還需要運作 git config --global gpg.program gpg2 來配置 Git 使用 git gpg2。

從 GPG 密鑰清單中複制您想要使用的 GPG 密鑰 ID。 在此例中,GPG 密鑰 ID 是 3AA5C34371567BD2:

$ gpg --list-secret-keys --keyid-format LONG

/Users/hubot/.gnupg/secring.gpg

------------------------------------

sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]

uid Hubot ssb 4096R/42B317FD4BA89E7A 2016-03-10

要在 Git 中設定 GPG 簽名密鑰,請粘貼下面的文本,替換您想要使用的 GPG 密鑰 ID。 在此例中,GPG 密鑰 ID 是 3AA5C34371567BD2:

$ git config --global user.signingkey 3AA5C34371567BD2

如果沒有使用 GPG Suite,請粘貼下面的文本以将 GPG 密鑰添加到您的 bash 配置檔案:

$ test -r ~/.bash_profile && echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile

$ echo 'export GPG_TTY=$(tty)' >> ~/.profile

注:如果您沒有 .bash_profile,此指令會将 GPG 密鑰添加到 .profile。

您可以使用 smimesign 以 S/MIME 代替 GPG 對送出和标記簽名。

注:S/MIME 簽名驗證可用于 Git 2.19 或更高版本。 要更新 Git 版本,請參閱 Git 網站。

打開 Terminal(終端)Terminal(終端)Git Bash。

配置 Git 使用 S/MIME 對送出和标記簽名。 在 Git 2.19 或更高版本中,使用 git config gpg.x509.program 和 git config gpg.form 指令:

要使用 S/MIME 對所有倉庫簽名:$ git config --global gpg.x509.program smimesign

$ git config --global gpg.format x509

要使用 S/MIME 對單一倉庫簽名:$ cd /path/to/my/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/my/repository

$ git config --local gpg.program smimesign如果您使用的是與送出者身份比對的 X.509 密鑰,您可以開始對送出和标記簽名。

如果您使用的不是與送出者身份比對的 X.509 密鑰,則使用 smimesign --list-keys 指令列出您有其證書和私鑰的 X.509 密鑰。$ smimesign --list-keys

從 X.509 密鑰清單中複制您想要使用的 X.509 密鑰的證書 ID。 在此示例中,證書 ID 是 0ff455a2708394633e4b2f88002e3cd80cbd76f:$ 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: [email protected]

要在 Git 中設定您的 X.509 簽名密鑰,請粘貼下面的文本,替換之前複制的證書 ID 。

要使用 X.509 密鑰注冊所有倉庫:$ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f

要使用 X.509 密鑰注冊單一倉庫:$ cd /path/to/my/repository

$ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f