[Gelistirici] Paket İmzalama

Bahadır Kandemir bahadir at pardus.org.tr
30 Haz 2007 Cmt 16:09:51 EEST


30 Haz 2007 Cts tarihinde, S.Çağlar Onur şunları yazmıştı: 
> - nu kullanmaya gerek olduğunu zannetmiyorum, gpg düzgün tanımlanmış
> dönüş değerlerine sahip, direkt çağırıp bunları kontrol etmemiz yeterli
> olacaktır. Uzun senelerdir geliştirilmeyen bir modülü yanımızda
> taşımamızı gerektirecek kadar anlamlı bir iş yapmıyor bu wrapper, illa
> wrap etmek istersek oturup kendimiz hallice daha kısa ve basit birşey
> yazarız.
>
> - cli'den PASSPHRASE vermek veya bunu bir config dosyasına yazmak
> kesinlikle kabul edilebilecek bir yöntem değil. Build işleminin otomatik
> olması için farm passwordless anahtar kullanabilir (ki diğerlerinin
> yaptığı da bu), farmda derlenmeyen paketler ise (atıyorum pisi build
> --sign-package) paketi yapanın anahtları için imzalayacakları zaman gpg
> araya girer ve kendi _güvenli_ metodları ile bu parolayı sorar.

Depodaki GnuPG paketi ve güvenli pin/parola girişi sağlayan Pinentry paketi 
problemli. Passphrase girmek için illa bir açık X oturumu gerekiyor, 
passphrase girilmesi için bir Qt dialog açıyor Pinentry - X oturumu 
bulamazsa Curses arabirimi göstermiyor. GnuPG'nin de Qt bağımlısı olması 
çok saçma. [1]

X olmadan passphrase girilebilsin diye kullandım bu Wrapper'ı, haklısın çok 
güvensiz.

> - Paketteki dosyaların hashlerini içeren bir dosya yaratıp bunu
> imzalıyor demek bir pisi paketi içinde bulunan comar/*, install.tar.lzma
> ve files.xml ve metadata.xml dosyaları değil mi?

Evet

> - İmzalandığı anahtarı pisi.conf içine yazmanın manası olduğunu
> düşünmüyorum, /usr/lib/pardus/pisi/ altında örneğin bir keychain yaratıp
> açık anahtarların buraya import edilmesini, pisi'ninde bu keychain ile
> kontrol yapmasını sağlamak yeterli (ilk pisi/package-manager kullanımı
> ırasında kullanıcıya böyle bir anahtar var import edeyim mi diye sormak
> gibi)

Bunu yapmak çok daha kolay wrapper kullanmaktan, çok daha iyi görünüyor.


[1] GnuPG ve Pinentry paketlerindeki probleme dönersek -ki bence bu imza 
desteğini uzun bir süre boyunca vermesek bile çözmemiz gereken bir 
problem-, Pinentry'nin Qt yoksa Curses denemesi için configure 
parametrelerini değiştirmek yeterli. Ancak bu yine de Qt bağımlılığını 
ortadan kaldırmıyor. Bu şu şekilde çözebiliriz:

Pinentry'den 3 dosya çıkıyor: pinentry-qt, pinentry-curses, ve pinentry 
linki. Link, varsayılan olarak pinentry-qt'yi gösteriyor. Qt ve curses'ı 
ayrı paketlere alalım, linki paketten çıkaralım, pinentry-{qt,} paketleri 
postInstall'larında linki oluştursun. $DISPLAY'a göre hangi pinentry'nin 
çalıştırılacağını belirleyen bir wrapper kullanamıyoruz, güvenli olmuyor.
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20070630/80839385/attachment-0002.pgp>


Gelistirici mesaj listesiyle ilgili daha fazla bilgi