26 Şubat 2011 Cumartesi

JSF Projesinde SSL Kullanımı

Arkadaşlar Merhabalar,

Bu yazıda sizlerle bir JSF projesinde SSL nasıl kulanılır inceleyeceğiz. Doğrusu, benim biraz vaktimi aldı bunu gerçeklemek, çünkü Türkçe kaynak çok fazla yok bu konu hakkında, İngilizce olanların ise hepsi doğru bilgiler içermiyor. Ancak sonunda çözdük ve hizmetinize sunuyoruz :)

Şimdi nasıl yapılır hep beraber görelim.

İlk olarak, keytool umuzu oluşturacağız. Bunun için, komut satırına(Başlat->Çalıştır->cmd),

Düzeltme: Aşağıdaki resimde %JAVA_HOME% yazmayı unutmuşum, aşağıdaki gibi eklerseniz iyi olur.

%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA

yazarak çalıştırıyoruz. Bundan sonra sistem bizden 6 karakter veya daha uzun olan bir şifre isteyecektir. Bunu girdikten sonra, aşağıdaki resimdeki gibi bilgilerimizi alacaktır.


Bunları da girdikten sonra, artık sertifikamız hazır hale gelmiş olacaktır. Sistem sertifikayı Belgelerim klasöründe, yani, C:\Users\"kullanıcı adı"\ ya da ${user.home}\ klasöründe oluşturacaktır. Oluşan dosyanın ismi .keystore dur. 

Şimdi, Tomcat kısmındaki ayarlamaları yapacağız. Öncelikle Tomcat bilgisayarımızda nerede kuruluysa o klasöre giriyoruz. Daha sonra conf klasörünün altındaki server.xml dosyasını açıyoruz. Bunun içine aşağıdaki satırları ekliyoruz. Burada dikkat edilmesi gereken şey, password kısmına, komut satırında hangi şifreyi verdiysek onu yazmamız gerektiğidir.

<Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" 
keystorePass="hangi sifreyi verdiyseniz onu yazın"
           clientAuth="false" sslProtocol="TLS"/>
Şimdi, projemizde yapacağımız ayarlara gelelim. Proje klasörümüzün içinde 
Web Contents-> WEB-INF -> web.xml 
dosyasına çift tıklayarak açıyoruz. Bunun içinde herhangi bir yere, mesela en alt satırın 
bir üstüne aşağıdaki kodları ekliyoruz.
 
<security-constraint>
<web-resource-collection>
<web-resource-name>securedapp</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Artık tüm ayarlarımız hazır duruma geldi. Projemizdeki herhangi bir sayfayı açtığımız zaman, 
https://localhost:8443/...  gibi bir link ile açıldığını göreceğiz. Bu, işlemleri başarıyla 
gerçekleştirdiğimiz manasına gelir. Eğer herhangi bir yerinde sıkıntı çekerseniz bana mesaj 
atabilirsiniz, elimden geldiğince yardımcı olmaya çalışacağım. 
 
Daha ayrıntılı bilgiler için aşağıdaki linke de göz atabilirsiniz.
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html 
 
Hepinize başarılar dilerim, esen kalın.

Hiç yorum yok:

Yorum Gönder