Java Aplleti imzalamak (Signed applet)
Security manager adlı sistemi sayesinde koda bazı sınırlamalar koyarak kullanıcıya zarar vermesi önlenir. Appletlerdeki bu sınırlamayı aşmanın tek yolu signed applet yaratmaktır
Applet Java programlarının, server bilgisayarlarındaki java kodlarının kullanıcı bilgisayarına otomatik olarak (browser aracılığı ile) indirilen ve çalıştırılan versiyonudur. Yani kullanıcı browseri aracılığı ile sizin yazdığınız programı kullanır.
Bu noktada appletin güvenliği devreye girer çünkü kullanıcı kodun içeriğini bilemiyeceği için güvenlik riski olan bir durum ortaya çıkar fakat Java nın yazarları buna çare olarak security manager adlı sistemi geliştirmişlerdir,böylece koda bazı sınırlamalar koyarak kullanıcıya zarar vermesi önlenir.
Appletlerdeki bu sınırlamayı aşmanın tek yolu signed applet yaratmaktır.Signed applet yapmak için şu adımları izleyin .
1.Öncelikle appletin gerekeceği bütün sınıfları bir jar içine alın.
jar cvf jar_adi.jar ilk.class (veya * gibi wildcard) varsa_klasor_adi
gibi jar komutu ile jar dosyasını oluşturun,eğer winrar gibi bir program var ise jar dosyası oluşturmak çok kolay yapmanız gereken klasörleri, dosyaları boş jar dosyası içine sürükleyip bırakmak.
2.Şimdi applet için gerekli private/public keyleri ve ilgili dosyasını oluşturalım bunun için
keytool -genkey -alias signFiles -keystore tayfunstore -keypass kpi135 -dname “cn=tayfun” -storepass ab987c
gibi bir komut işimiz görür.
-genkey komutu işlemimizi yani “generate key” anahtar yarat direktifini verir
-alias signFiles ilerki bir komutta referans olacak bir kelimedir.bir sonraki komutta anlarsınız
-keystore oluşturulan publi/private keylerin hangi dosyada saklanacağı bilgisini bu komutla verirsiniz.
-keypass bizim private keyimizin şifresi
-dname “cn=tayfun” bunun manası applete açılırken applete izin verilip verilmeyeceğini soran dialog kutusunda görünecek bilgilerdir.bu direktif ile ilgili değerleri veririz.
-storepass public/private key bilgilerinin koyulacağı dosyanın şifresi
3. Appleti signed yapmadaki son adımımız (benim işime bu 3 adım yaradı )
jarsigner -keystore tayfunstore -storepass ab987c -keypass kpi135 -signedjar SSignedApplet.jar SignedApplet.jar signFiles
-keystore public/private keylerin koyulduğu dosyanın adı bir önceki işleme bakın
-storepass bir önceki işlemde private/public key dosyasında erişim için şifreyi belirlemiştik.
-keypass private keyimizin şifresi
-signedjar bu komuttan sonra meydana çıkacak jarın adı
SignedApplet.jar signFiles bunlar ise sıra ile sign edilecek jarın adı, yalnız bu jarın tam adresi ile vermeniz gerekli eğer komutu verdiğiniz dizinde ise direkt adınız yazabilirsiniz ama aynı dizinde değilse tam adresini vermelisiniz.Relative yani ../../ tarzı adreslerde olabilir.
signFiles bir önceki komuttan hatırlarsanız alias olarak signFiles vermiştik işte şimdi bu alias işimize yarıyor böylece 1 önceki komuttaki değerleri bu komutta kullanabiliyor.
Bu 3 işlemden sonra buradaki örnekteki SSignedApplet.jar gibi sizin verdiğiniz isimde signed bir applet meydana gelir.
Bu applet signed olduğu için kendi bilgisayarınızdaki programdan farksızdır hertürlü işlemi bu appletin indirildiği kullanıcı bilgisayarında da yapabilirsiniz. Appletin sınırlarını kırarsınız, fakat kullanıcıyı mağdur etmemek için Applet öncelikle bu signed jarın çalıştırılıp çalıştırılmayacağını sorar, işte bu noktada kullanıcı böyle bir dialog kutusu gelince ne yapacağını şaşıracağı ve hayır diyebileceği için signed appletleri sık kullanmak sakıncalıdır.
Kaynak :