Verified Commits di GitHub dengan GPG, TortoiseGit, dan MSYS/MinGW
Verified commits di GitHub menandakan bahwa commit tersebut memang dibuat oleh orang yang benar, bukan impersonator. Ini membantu menegaskan kepercayaan dan keamanan repositori Anda.
Langkah-Langkah Membuat GPG Key
- Buka prompt MSYS/MinGW dan jalankan:
Pilih opsi RSA and RSA, 4096 bit, key tanpa masa kadaluarsa.gpg --full-generate-key --allow-freeform-uid - Masukkan nama dan email yang ingin dipakai untuk commit. Contoh:
Pete Batard <pete@akeo.ie> - Set password untuk key Anda, ini akan diminta setiap kali menandatangani commit.
- Ekspor public key untuk GitHub:
Salin hasilnya ke GitHub GPG keys.gpg --armor --export pete@akeo.ie
Konfigurasi GPG di Windows
Salin folder C:\msys2\home\ ke C:\Users\ agar gpg.exe default di Windows dapat menemukannya.
Mendapatkan Key ID
gpg --list-keys --keyid-format LONG pete@akeo.ie
Catat string hex 40 karakter di bawah pub, ini akan dipakai sebagai signing key.
Konfigurasi Git untuk Commit Signed
Di setiap repositori yang ingin menggunakan commit signed, edit .git/config:
[user]
signingkey = 236D8595DE48618C26293122F3E83EBB603AF846
[commit]
gpgsign = true
[gpg]
program = "C:/msys2/usr/bin/gpg.exe"
Penggunaan
Setelah konfigurasi, commit akan meminta password GPG key. Setelah push, commit akan muncul dengan badge Verified di GitHub.
Untuk memastikan commit sudah signed sebelum push:
git log --show-signatureLabel: git, github, gpg, security, tortoisegit, trust, Windows