Sertifikalı ve İşaretli Nedi?
Appletlerin web sayfalarını daha görsel hale getirmekten başka bir işe yaramadığı çabuk anlaşıldı. Ama daha fazlasını; mesela kulanıcıdan bilgi almak ve yazmak; yapabilmek için güvenlik sınırlamalarını kaldırmak gerekiyordu. Fakat bunun mümkün olduğu güvenli olması için, appletler yeni browserlar için işaretlenebiliyor.
Bunun için applet geliştiricisinin amacını belirten sertifaya ihtiyacı vardır. Sertifa browser okuyabileceği şekilde açıktır ve geliştiricinin adını ve kontrol kodu içerir. Bu sertifaka ile geliştirici appleti güvenli olarak işaretler. Başka hiç kimse bu sertifikayı kullanarak bir appleti işaretletyemez. Çünkü geliştirici appleti işaretlemek için sertifika ile birlikte verilen özel kodu kullanır.
Kullanıcı, appleti çalıştırdığında ( applet olan bir web sayfasını çağırdığında ) browser appletin işareti ile sertifikayı karşılaştırır. Böylece appletin işareti sertifaka ile uyumlu ise çalıştırır. Bu şu anlama geliyor: Doğru işaretli bir appletin geliştiricisini kullanıcı applet yüklenirken görür. Ama sadece applet yüklenirken.
İşaretli Appletler Neler Yapabilir?
İşaretli bir applet yüklendiğinde kullanıcının karşısına bir pencere gelir. Bu pencerede sertifika hakkında bilgiler vardır ve kullanıcı onayı istenir. Kullanıcı bu bilgiler ışığında appletin çalışmasına izin verir veya vermez. Kullanıcının çalışmasını onaylamış bir applet normal programların yapabildiği her şeyi yapabilir.
Bu Durumdaki Güvenlik
Buradaki problem onaylama işleminin ya hep ya hiç mantığında işlemesidir. Bunun anlamı onayladığınız bir appletin gerçek amacının dışındaki verileride okuyabildiği veya istenmeyen bir yere veri yazabildiğidir. Tam anlamıyla erişim haklarının belirlenmesi programcılara ağır geldiği için çoğu programcı tarafından yapılmıyor. Yine de Microsoft ve Netscape'in browserları için erişim haklarının değişik şekilde belirlenmesi karşısında programcılar minimum düzeyde erişim hakkıyle yetiniyorlar.
İkinci bir problem ise sertifikanın gerçekliğidir. Gerçek sertifikalar, programcı tarafından değil, programcının güvenilirliğine kefil olan şirketler tarafından oluşturulmuş sertifikalardır. Bu şirtketler para karşılığında sertifika oluşturmaktadır. Bir sertifika en az $200 başlayıp sertifikaya göre artmaktadır. Programcı yıllık olarak $100 başlayan fiyatlarıda ödemek zorundadır. Çoğu programcı için bu fiyatlar aşırı pahalı gelmektedir.
En azından herkes bedava kendi sertifasını oluşturabilir. Fakat böyle bir sertifa, programcının gerçekte kim olduğunu ve amacının doğruluğunu belirtmez. Hatta test sertifikaları diye anılanlar istenen herhangi bir isim ile oluşturulabilir. Her ne kadar insanı korkutsada, bilinmeyen bir shareware programı denemekten daha güvenlidir. Appleti onaylamak veya onaylamamak bizim elimizde değil mi?
Sertika Şirketleri
Gerçek sertifakalar sertifa şirketleri ( Certificate Authority kısa CA ) tarafından veriliyor. Bu şirketler programncının yada şirketlerin amacını kontrol ettikten sonra sertifika veriyorlar. En tanınmış sertifika şirketleri VeriSign, Thawte ve BelSign.
Her CA, vereceği sertifikaları kendi sertifikası altına tanımlar ki daha önceden güvenliğ belirlenmiş kendi sertifikaları gibi işlem grösünler. CA'lar kendilerine ait sertifikaları daha önceden browserlara tanımlanmış ve kurulmuştur. Maalesef bu şirketlerin verdikleri hizmetin bedeli yüksek. Bir defaya mahsus ücret $200 dan başlıyor, yıllık ücretler ise 100$ dan. Şuana kadar işaretli appletlerın yaygınlaşmamasının en büyük nedeni bu olsa gerek.
Test Setifikaları
Test sertifikası herkes tarafından beş kuruş ödenmeden oluşturulabilen sertifikalardır. Ama programcının amacını gerçek olarak ispatlamayan sertifikalar bunlar. Bu sertifikalarda browsera göre değişiyor. Bir Netscape ve birde Microsoft için oluşturmak gerekiyor. Sun'ın HotJava browserına hiç girmeyeceğim burda, belki ileride onuda ele alırım.
Microsoft Browser İçin Test Sertifakası
Microsoft browser sertifikası oluşturmak için, Microsoft'un sitesinden bedava indirebileceğiniz " Software Developer's Kit ( SDK) " e ihtiyacınız var. Bu yazılım kitinin içindeki programların tek tek indirilememesi tabii ki çok kötü bir durum. Bu kitin içindeki herhangi bir program için 20 MB büyüklüğündeki bu kiti indirmek zorunda kalıyorsunuz. Ama bu kiti CD olarakta sipariş edebiliyorsunuz.
Bu kit ile gelen ingilizce dökümantasyon tam olarak okunmalı, nitekim olmazsa olmaz birçok önemli parametre mevcut. Burada bu kitin içindeki DOS programlarıyla sertifika oluşturulmasını kısaca anlatmaya çalışacağım. Bu sadece başlangıç için yardım niteliğindedir. Gerisini dökümana bırakıyorum.
makecert ile Private/Public Key oluşturun. Sertifika için gerekli olan .cer uzantılı bir dosya oluşacaktır.
cerrt2spc ile sertifikayı oluşturun. Birinci adımda oluşturduğunuz .cer uzantılı dosyadan .spc uzantılı bir dosya oluşturur.
cabarc ile class dosyalarınızı cab dosyası haline getirin. Bu cab dosyası Internet Explorer tarafından indirilecek dosyadır.
Oluşturduğunuz cab dosyasını signcode ile işaretleyin. Bu işlem sırasında oluşturduğunuz .spc uzantılı dosyada kullanılacaktır.
Netscape Browser İçin Test Sertifakası
Netscape programcıların işini biraz daha kolaylaştırmış Microsoft'a göre, sertifika için gerekli olan "Signtool" uğraşmadan indirebilecek ve Microsoft'un kitine göre daha kolay kullanımı var. Signtool Win95 ve Unix sürümleri var. Kısaca adımlar:
• signtool ile Private ve Public Key oluşturmak için -G parametresini kullanın.
• Bu işlem ile x509.cacert adlı bir dosya oluşacaktır.
• signtool ile class dosyalarınızı jar dosyası haline getirin.
Bu işlemleri batch dosyası ile de yapabilirsiniz.
JAVA PLUG-IN
Bundan birkaç yıl önce Sun, HotJava adlı web browserı piyasaya çıkardı. Sun'ın bu web browserı, Java'yı destekliyordu. Buda içine java nesneleri gömülebilen uygulamaların ilk örneğini teşkil ediyordu. Bunun ardından Netscape kendi web browserınada Java desteğini ekledi. Ardından da MS.
Gün geçtikce Java'nın yeni sürümleri çıktı. Bununla birlikte Netscape ve MS kendi ihtiyaçlarına uygun sınıf kütüphanelerini eklediler browserlarına. Böylece her browserın kendine özel JVM ( Java Virtual Machine ) 'i oldu. Dolayısıyla browserların içine gömülen JVM ile browserdan bağımsız olarak JVM 'i güncellemek imkansızdı.
Sun, herhangi bir ortamda Java'nın çalışabilmesi için gerekli olan her şeyi içeren ( Java VM ve sınıf kütüphaneleri ) JRE 'yi çıkardı. Eğer JRE bilgisayarınızda yüklüyse, herhangi bir uygulamaya ( örneğin browser ) gömülmüş java nesneleri çalışabiyor. Sorun, browserların sadece kendi JVM lerine bakmaları ve makinada yüklü olan JRE 'ye ulaşmak için bir mekanizmaya sahip olmamalarıydı. Sun olaya el attı : Java Plug-In
Sun'ın geliştirdiği Java Plug-In, JRE 'ye HTML sayfalarından browserı kullanarak ulaşmak için bir mekanizma. Java Plug-In, Sun'ın web sitesinden bedavaya indirilebiliyor. Sayfaya girildiğinde, istenen java sürümü kullanıcının makinasında yüklü değilse, kullanıcı Java Plug-In sayfasına yönlendirilir. Java Plug-In, Netscape'de plug-in olarak, IE 'de ise ActiveX Control olarak otomatik yüklenir.
Java Plug-In Kullanmak
Java Plug-In, Netscape'de EMBED, IE 'de ise OBJECT tagı sayesinde kullanılabilir. MIME tipi ile istenen java sürümünü belirtmelisiniz. Örneğin Java 1.2 sürümünün özelliklerini kullanan bir appletiniz varsa, MIME tipinde bunu belirterek appletinizin doğru çalışmasını sağlarsınız.
MIME Tipi Nesne Tipi / Sürüm
application/x-java-applet; Applet / Mevcut sürüm
application/x-java-applet;version=1.1 Applet / Java 1.1
application/x-java-applet;version=1.2 Applet / Java 1.2
application/x-java-bean; Bean / Mevcut sürüm
application/x-java-bean;version=1.1 Bean / Java 1.1
HTML sayfasına appletinizi geleneksel yöntemlerle koymak isterseniz, yani Java Plug-In kullanmak istemiyorsanız APPLET tagını kullanmanız gerekir. Java Plug-In kullanmak istiyorsanız;
Netscape için EMBED tagını kullanmalısınız :
<HTML>
<BODY>
<EMBED type="application/x-java-applet;version=1.1" width="200" height="200" code="Appletim.class" codebase="/appletler/" parametre1="2" pluginspage="Linklerin Görülmesine İzin Verilmiyor
Linki Görebilmek İçin
Üye Ol veya
Giriş Yap">
<NOEMBED>
Applet Desteklenmiyor
</NOEMBED>