Github Verified之GPG金鑰設定

最近我重新深入學習了git,並好好檢視了自己的github頁面
以前就注意到了這個酷炫的Verified標誌,在Github線上改README時會被自動加上,在本地commit就沒有
這個標誌能顯示此commit確實是由我做出,並不是別人冒名而做

這次我好好研究了下gpg金鑰的設定方法,並把流程記錄在此

參考連結

安裝GPG軟體

GnuPG網站下載軟體
請往下拉到binary releases,並下載第二項「Gpg4win - Simple installer for the current GnuPG」

「Gpg4win - Full featured Windows version of GnuPG」內含Gui金鑰管理器,我覺得並不好用
如果只是要對git操作簽章,直接從command line設定會比較單純
(這和是否使用Gui工具做git並無關係,但請於設定完成後確認運作)

確認現有金鑰

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

產生金鑰

注意: Key Size 必須是4096 bits以上
gpg --full-generate-key

登錄公鑰至Github

先確認剛產生的金鑰
gpg --list-secret-keys --keyid-format LONG
以純文字產出公鑰,將之複製
gpg --armor --export 你的金鑰ID
Github的keys設定頁面,將GPG key加入

設定使git使用金鑰

git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
git config --global user.signingkey 你的金鑰ID
git config --global commit.gpgsign true

備份金鑰

金鑰產生後請妥善離線保管,這兩個檔案可用於複製金鑰至其它電腦上

Output

gpg --output mygpgkey_pub.gpg --armor --export 你的金鑰ID
gpg --output mygpgkey_sec.gpg --armor --export-secret-key 你的金鑰ID

Input

gpg --import ./mygpgkey_pub.gpg
gpg --allow-secret-key-import --import ./mygpgkey_sec.gpg

參考連結 https://www.debuntu.org/how-to-importexport-gpg-key-pair/

延長金鑰口令之驗證有效期

我不希望每次commit都要輸入密碼,在每次重開機後的第一次使用時問我就足夠了
在此路徑中建立檔案,並寫入以下設定
~\.gnupg\gpg-agent.conf
default-cache-ttl 34560000
max-cache-ttl 34560000

沒有留言:

張貼留言