Rabu, 31 Oktober 2018

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

  1. Buka prompt MSYS/MinGW dan jalankan:
    gpg --full-generate-key --allow-freeform-uid
    Pilih opsi RSA and RSA, 4096 bit, key tanpa masa kadaluarsa.
  2. Masukkan nama dan email yang ingin dipakai untuk commit. Contoh:
    Pete Batard <pete@akeo.ie>
  3. Set password untuk key Anda, ini akan diminta setiap kali menandatangani commit.
  4. Ekspor public key untuk GitHub:
    gpg --armor --export pete@akeo.ie
    Salin hasilnya ke GitHub GPG keys.

Konfigurasi GPG di Windows

Salin folder C:\msys2\home\\.gnupg ke C:\Users\\.gnupg 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-signature

Label: , , , , , ,