GPG signing
- Git kursu
- Uzman
- Ders 25/32
- 4 dk
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-signatureCommit 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
# GPG imzalama ayarlarını yapılandır
# Dosyayı ekle ve imzalı commit oluşturÖrnek çözüm
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
git config --global user.____ ABCD1234
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 |