[Gelistirici] Paket İmzalama

Pınar Yanardağ pinar at comu.edu.tr
1 Tem 2007 Paz 02:01:44 EEST


Selamlar,

Gürer Özen wrote On 30-06-2007 15:12:
> Buna ben de katılıyorum, zaten bu nedenle o gerekler belgesinde,

O gerekler belgesi derken araya gireyim, tam şurada:
http://tr.pardus-wiki.org/PiSi_Paket_%C4%B0mzalama_Gereksinimleri

>  isteyenin hiç 
> imza kullanmayabileceği, isteyenin basitçe kendi anahtarıyla imzalayacağı, 
> isteyenin de tam bir CA, revocation list, vb destekli çözüm kullanabilmesi 
> gerektiği yazıyordu.
>   

Şimdi asıl konuya dahil olayım, aslında bu konuyu benim çoktan halledip
bitirmiş olmam gerekiyordu ama sürekli araya girip duran zilyon tane
işten ve hala vaktini düzenli organize etmeyi öğrenememiş biri olmamdan
dolayı uzadıkça uzadı.

Öte yandan, -işe başlarken benim de böyle düşünmeme rağmen- işin kısa
süreçte yapıp bitirilecek bir iş olmadığını; ve dizayn sürecinin iyice &
uzunca gözden geçirilmesini & gpg'nin eline emanet edilecek bir çözümün
ileride sorun çıkarabileceğini düşünüyorum.

Sertifika kullanımına gelince; başlangıçta ben de bürokratik bir çözüm
olarak gördüğüm için sıcak bakmıyordum, ancak sertifika kavramını biraz
irdeleyince -ve jar'ın bu işi nasıl kotardığına bakınca-, self-signed
sertifikaların da CA otoritesine sahip olmayanlar için uygun bir çözüm
olduğunu gördüm. Öte yandan hem sertifika hem de anahtar alternatifi de
getirilebilir.

Jar'ın imzalama ve doğrulama ile ilgili yazılmış iki aracı var:
jarsigner ve keytool. Jarsigner imzalama ve doğrulama için, keytool da
anahtar ve sertifika yönetimi için kullanılıyor. İsterseniz Faik'le konu
hakkında geçen bilimum yazışmalardan bu iki aracı kendimize nasıl
uyarlayabileceğimizle ilgili yazdıklarımı çekip çıkartabilirim, ya da
okumak isterseniz ikisinin de çalışma prensibi burada mevcut [1,2].

Önerdiğim çözüm ise, Jar'ın bu araçlarıyla benzer işlevi gören küçük
programlar yazılması. Mevcut Python kütüphaneleri arasında, en işe
yarayanı ve kullanabilinecek pyopenssl kütüphanesi. Çok küçük ve "öz"
bir kütüphane olduğu gibi, aynı zamanda çok berbat dökümante edilmiş,
örnek kodu neredeyse sıfır olan ve OpenSSL bilmeden kullanmanın çok zor
olduğu bir kütüphane.

Ben şimdiye kadar öncelikli olduğunu düşündüğüm için depo indekslerinin
doğrulanması ile ilgilenebildim. Pyopenssl'i öğrenebildiğim kadarı ile
sunucuya bağlanıp sertifikayı parse eden bir kod yazdım; tek eksik
sertifikanın & paketin güvenirliliğinden emin olduktan sonra durumu
kullanıcıya bildirmek- ve tabii bu kodları pisi'ye gömmek.

Ve fekat, halen (self confession MOD=[ON]) yukarıda sizin yarım saatte
kodlayıp halledebileceğiniz işe bakamadığım için, dilerseniz kodu &
şimdiye kadar araştırdığım kadarıyla edindiğim bilgileri işi devam
ettirecek birine devredebilirim- hayat düzenimin bu kadar ayaklandığı
bir dönemde ben ne zaman bakabilirim bilmiyorum çünkü.

[1]: http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/jarsigner.html
[2]: http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html

İyi çalışmalar,

-- 
Pınar Yanardağ (PINguAR)
http://pinguar.org      




Gelistirici mesaj listesiyle ilgili daha fazla bilgi