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.