CodeBlanks Logo Icon CodeBlanks

GPG signing

GPG ile commit imzalamayı öğrenirsin.

GPG ile commit imzalama

GPG (GNU Privacy Guard), Git commit'lerini kriptografik olarak imzalamak için kullanılabilir. İmza, commit'in belirli bir GPG anahtarıyla oluşturulduğunu doğrulamaya yardımcı olur.

git config --global user.signingkey KEY_ID
git config --global commit.gpgsign true

İmzalama etkinleştirildiğinde yeni commit'ler varsayılan olarak imzalanır. Böylece depo geçmişindeki commit'lerin doğrulanabilirliği artar.

İmza anahtarı ve kimlik

GPG imzasının doğrulanabilmesi için Git'in kullanacağı anahtarın doğru seçilmesi gerekir. user.signingkey ayarı anahtar kimliğini belirtir.

git config --global user.signingkey ABCD1234
 git log --show-signature

Commit yazarı bilgileri ile GPG anahtarının kimliği birbiriyle uyumlu olmalıdır. GitHub gibi platformlarda ilgili açık anahtar hesabına eklenerek imzalar doğrulanabilir biçimde gösterilebilir.

Uygulama İmzalı commit oluştur

Git deposunda GPG imzalamayı etkinleştir. İmzalama anahtarı olarak ABCD1234 değerini ayarla. Ardından security-check.txt dosyasını ekleyip Güvenlik yapılandırması mesajıyla imzalı bir commit oluştur.

Başlangıç kodu

terminal
# GPG imzalama ayarlarını yapılandır
# Dosyayı ekle ve imzalı commit oluştur

Örnek çözüm

terminal
git config commit.gpgsign true
git config user.signingkey ABCD1234
git add security-check.txt
git commit -S -m "Güvenlik yapılandırması"
echo "İmzalı commit oluşturma komutu tamamlandı."

Beklenen çıktı

İmzalı commit oluşturma komutu tamamlandı.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Commit'lerin varsayılan olarak GPG ile imzalanmasını istiyorsun. Hangi Git ayarı bunu etkinleştirir?

  • git config --global commit.gpgsign true Doğru cevap
  • git config --global commit.verify false
  • git config --global user.signingkey false
  • git config --global gpg.format none

Açıklama: <code>commit.gpgsign true</code>, Git'in yeni commit'leri varsayılan olarak imzalamasını sağlar.

2 İmzalama anahtarını yapılandır

Soru
git config --global user.____ ABCD1234
Cevap
git config --global user.signingkey ABCD1234

Açıklama: <code>user.signingkey</code>, Git'in commit imzalamak için kullanacağı GPG anahtarını belirtir.

3 GPG imzalama kavramları

Kavram Anlamı
GPG Kriptografik anahtar yönetim aracı
Signing Commit'e dijital imza ekleme
Identity Anahtarla ilişkilendirilen kimlik
Public key İmzayı doğrulamak için paylaşılır

Uzman bölümündeki tüm dersler