Eski git taahhütleri GPG imzalamak için iyi bir fikir mi?


9

Git'e GPG anahtarımı kullanmasını söylemeyi unuttuğumu fark ettim. İmzalamadan birkaç taahhütte bulundum. Geri dönüp imzalamam gerekir mi?

Etiketleri imzalamam gerekip gerekmediğime atıfta bulunmuyorum, ancak imzalama taahhütlerini kendileri imzalamaya karar verdim. Yazdığım şey olabilir veya olmayabilir bozuk bir git geçmişi olması dışında, herhangi bir sebep düşünemiyorum inanmıyorum. GitHub'ın git geçmişimle uğraşmamasına güveniyorum ve projelerimin yaklaşık% 99'unun tek yazarıyım, bu yüzden bunu yapmalıyım mı?

Bu cevabı buldum , bu yüzden şimdi mümkün olduğunu biliyorum, ama felsefi olarak konuşmam gerekir mi?

Yanıtlar:


12

Kaydedilmesini zaten yayınlanmış varsa, olmamalıdır bu onların taahhüt kimliklerini değiştirecek gibi (yanlışlıkla veri sızıntılarını kaldırarak hariç) herhangi bir amaç için onları yeniden yazmak. (Her bir taahhüdün kimliğinin içeriğinin SHA-1 karmalarına ve üst taahhüdüne dayandığını unutmayın .)

Bu, sonraki tüm taahhütleri yeniden yazmayı (ve istifa etmeyi ) gerektireceği ve bu taahhütlerden herhangi birini zaten almış olan herkes için sıkıntılara neden olacağı anlamına gelir .

Ancak aynı nedenden ötürü , en azından veri bütünlüğü amacıyla bu eski taahhütleri açıkça imzalamanız gerekmez . Her bir taahhüt, ebeveynlerinin SHA-1 tabanlı kimliklerini içerdiğinden, tek bir taahhüdün doğrulanması , karma zincir yoluyla tüm geçmişini örtülü olarak doğrulayacaktır . Zincirin biraz daha uzun veya daha kısa olması önemli değildir.

Öte yandan, güvenlik için SHA-1'e güvenmiyorsanız, taahhütlerin dosya içeriğine SHA-1 karmaları tarafından da atıfta bulunduğundan , imzalamayı tamamen işe yaramaz hale getirmeyi düşünmelisiniz . Doğrudan imzaladığınız tek şey (ve bunun bir karması değil), taahhüt mesajıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.