Bu yazıda Linux işletim sisteminize el yordamıyla herhangi bir runtime yükleme ve update-alternatives komutuyla sistem varsayılanı olarak ayarlamayı anlatacağım; özellikle resmi depolarda henüz bulunmamasından dolayı Debian'a JDK 7 yükleme örneğiyle anlatıyorum. Genelleştirip başka ihtiyaçlarınıza da uyarlayabilirsiniz.
Öncelikle wget kullanarak sıkıştırılmış tar dosyayı Oracle'ın sitesinden yükleyelim ve uygun klasöre açalım. Henüz JDK 7 için Debian depolarında resmi paket yok, bu yüzden paket yöneticisini (apt-get komutunu) kullanamıyoruz.
wget http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-x64.tar.gz
tar zxvf jdk-7u9-linux-x64.tar.gz -C /usr/lib64/jvm/
Verdiğim link 64-bit Linux için son JDK'yı gösteriyor. Bu işe yaramazsa doğrusunu Oracle'ın sayfasına gidip bulabilirsiniz; her halükarda son versiyonunu tespit etmek için:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Şimdi istediğimiz JDK'yı indirip doğru bir klasöre açtığımıza göre update-altenatives marifetiyle sistem varsayılanı olarak ayarlayalım.
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_09/bin/java 1065
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_09/bin/javac 1065
1065 rakamı verilen önceliği ifade ediyor.
İşlemi kontrol etmek için –config parametresini kullanabilirsiniz.
update-alternatives --config java
Bu komutu girdiğinizde eğer önceden yüklenmiş bir Java'nız da vardıysa şuna benzer birkaç satır görmelisiniz, eğer ilk java ise alternatifi olmadığını bildirecektir:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/jdk1.7.0_09/bin/java 1065 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/jdk1.7.0_09/bin/java 1065 manual mode
Verdiğimiz 1065 rakamı 1061 den yüksek olduğundan kurduğumuz java otomatik olarak seçiliyor. Şimdi artık yeni alternatifin etkinleştiğini görebiliriz.
java -version
Çıktısı:
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
Kolay gelsin...
5 Kasım 2012 Pazartesi
28 Mayıs 2012 Pazartesi
Java ve SSL Güvenilmeyen Sertifika
SSL sertifikası güvenilmemiş olan bir sunucuya erişmek istediğinizde aşağıdaki hatalardan (orj. exception) biri ile karşılaşabilirsiniz:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Bu hatalar sertifikanızın geçerliliğinin kullandığınız Java runtime tarafından doğrulanamamasından kaynaklanıyor. Ağ tarayıcıları benzer durum ile karşılaşıldığında çoğu kere uyarı vermekle beraber, size sertifikaya güvenip devam etme veya güvenilir listesine ekleme seçenekleri de sunarlar. Bizim durumumuzda devam edebilmek için keytool aracını kullanarak Javanın keystore una bu sertifikayı güvenilir olarak eklememiz icab ediyor.
keytool aracı Java JDK nızın bin klasöründedir. keytool u bulduktan sonra şu adımları izleyin:
Adımları doğru olarak tamamladıysanız sizi şöyle tasdik edecektir: "Certificate was added to keystore."
Bazı ipuçları:
Keystore daki tüm sertifikaları listelemek için:
keytool -list -keystore ..\jre\lib\security\cacerts
Keystore dan sertifika silmek için:
keytool -delete -alias certalias -keystore ..\jre\lib\security\cacerts
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Bu hatalar sertifikanızın geçerliliğinin kullandığınız Java runtime tarafından doğrulanamamasından kaynaklanıyor. Ağ tarayıcıları benzer durum ile karşılaşıldığında çoğu kere uyarı vermekle beraber, size sertifikaya güvenip devam etme veya güvenilir listesine ekleme seçenekleri de sunarlar. Bizim durumumuzda devam edebilmek için keytool aracını kullanarak Javanın keystore una bu sertifikayı güvenilir olarak eklememiz icab ediyor.
keytool aracı Java JDK nızın bin klasöründedir. keytool u bulduktan sonra şu adımları izleyin:
- Sertifikayı local bir yere karşıdan yükleyin.
- keystore a şu parametreler ile sertifikayı ekleyin:
keytool -keystore ..\jre\lib\security\cacerts -import -alias <tanım_girin> -file c:\<dosya_yolu>\sertifika.crt -trustcacerts
veya
keytool -keystore ../jre/lib/security/cacerts -import -alias <tanım_girin> -file ~/<dosya_yolu>/sertifika.crt -trustcacerts
Adımları doğru olarak tamamladıysanız sizi şöyle tasdik edecektir: "Certificate was added to keystore."
Bazı ipuçları:
Keystore daki tüm sertifikaları listelemek için:
keytool -list -keystore ..\jre\lib\security\cacerts
Keystore dan sertifika silmek için:
keytool -delete -alias certalias -keystore ..\jre\lib\security\cacerts
Kaydol:
Yorumlar (Atom)