Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

Java Uygulamalarında SSL Sertifikalar

BlackKey

Üye
Fenerbahçe
Kayıtlı Üye
Katılım
12 Eylül 2014
Mesajlar
167
Tepkime puanı
0
Puanları
0
Günümüzde bilişim sistemlerinin en değerli varlığı olan verinin güvenli yöntemlerle işlenmesini sağlamak dikkat edilmesi gereken önemli noktalardan biridir. Çoğu kurumda, veritabanlarında depolanan bilgiye erişim uygulama sunucuları üzerinde çalışan uygulamalar üzerinden yapılmaktadır.
Bu makalede, Java tabanlı uygulamalarda kullanılan SSL Sertifikaların yönetilmesinden bahsedilecektir. Ssl sertifikalar ile ilgili temel kavramlar:
CA – Certification Authority : Sertifika Otoritesi, sertifika vermeye yetkili kurum
RA – Registration Authority: Sertifika talebinde bulunan kişi/kurumun kimlik bilgilerini doğrulayan yerel kurum
CRL - Certificate Revocation List: Sertifikaların geçerlilik sürelerinin takip edildiği liste
Private Key: Kişiye/Kuruma özel, kesinlikle başkalarıyla paylaşılmaması gereken şifreleme anahtarı
Public Key: Kişiye/Kuruma özel, başkalarının da erişebildiği şifreleme anahtarı
Sertifika: Public Key + Dijital İmza
Root ve Intermediate Sertifikalar: Kişi/kurum sertifikasını doğrulamak için kullanılan CA sertifikaları
Dijital İmza: Sertifika talebinde bulunan kişi/kurumun Public Key Hash'inin CA'in Private Key'i ile şifrelenmesi (imzalanması) işlemi.
CSR – Certificate Signing Request: Private kullanılarak oluşturulacak public key'in CA tarafından imzalanması için gönderilen sertifika imzalama isteği (*.csr)
KeyStore: Private key ve sertifikaları içeren Java’ya özel dosya (*.jks)
TrustStore: Kişi/kurum sertifikalarını doğrulamak için kullanılacak genellikle CA'in root ve intermediate sertifikalarını içeren Java’ya özel dosya(*.jks).(Internal root CA sertifikalarını da içerebilir)
Java uygulama kodunda kullanılacak SSL sertifikalar, Keystore(*.jks) adı verilen dosyalarda tutulur. Bu sertifikaları doğrulamak için kullanılan CA'in root ve intermediate sertifikalarının uygulama sunucusunda (AS – Application Server) olması gerekir. Bunun için iki yöntem vardır;

  • Manuel olarak oluşturulan TrustStore’da
  • Uygulama sunucusunun Default Trustore’unda
Bu makalede, birinci yöntem seçilmiştir. Java uygulama kodunda, kullanılacak sertifikanın KeyStore’da, sertifikayı doğrulamak için kullanılacak CA root ve intermediate sertifikalarının da manuel oluşturulan TrustStore içinde olduğu belirtilecektir. (Bknz “İlgili Kod Parçacığı” bölümü).
İkinci yöntem kullanıldığında, CA'in root ve intermediate sertifikaların uygulama sunucusu yönetim ara yüzünden Default TrustStore’a yüklenmesi gerekir.
Gerçekleştirilecek işlemler:

  1. Keystore ve keystore içinde bir Private Key oluşturulması
  2. Private key kullanılarak CSR oluşturulması, CSR’ın kontrol edilmesi ve imzalanmak üzere CA’ya gönderilmesi
  3. CA’dan gelen sertifikanın Keystore import edilmesi
  4. CA’in root ve intermediate sertifikalarının import edilmesi için TrustStore oluşturulması ve CA sertifikalarının import edilmesi (sertifikamız bu CA sertifikaları ile doğrulanır)
  5. TrustStore içindeki kullanılmayacak private key’in silinmesi
  6. Store içindeki nesnelerin export edilmesi
  7. Java kod parçacığı ve/veya uygulama sunucusu üzerinde yapılması gereken değişiklikler
Java SSL Sertifika işlemleri için “keytool” uygulaması kullanılmaktadır. Varsayılan olarak aşağıdaki path’de olan uygulama (işletim sistemine ve kurulum ayarlarınıza göre değişebilir), işletim sisteminde path variable olarak eklenirse istenilen dizinde bu işlemleri gerçekleştirilebilir.
C:\Program Files\Java\jre6\bin
Store içindeki nesnelere erişim “alias” adı verilen parametreler ile gerçekleştirilir.
JKS + Private Key Oluşturma

2048 bitlik, RSA algoritması kullanan, KeyStore şifresi “ikaru55@”, Private key şifresi “5uraki@”, Common Name: Elma olan Makale.jks keystore’u oluşturmak için aşağıdaki komut kullanılır: (Burada, elma vb örnek olarak kullanılmıştır. Uygulam****urum.com.tr vb olarak gerçek ortamlarda kullanılabilir.)
keytool.exe -genkey -keystore "C:\Cagatay\Makale.jks" -alias Makale -storepass ikaru5@ -keypass 5uraki@ -keyalg RSA -keysize 2048 -dname "CN=Elma, OU=Bank AS, O=Cagatay"

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun

CSR oluşturma + Kontrol Etme + CA’ya gönderme

KeyStore içindeki Private Keyi kullanılarak CA’ya sertifika imzalama isteği (makale.csr) gönderilir. Aslında CA yerine, RA’ya gönderilir. RA, gerçekten o sertifikayı almaya yetkili olup olunmadığını imza sirküleri, ticaret sicil gazetesi vb kontroller ile gerçekleştirir. Uygun bulunursa sertifika gönderilir.
keytool -certreq -alias Makale -file Makale.csr -keystore Makele.jks -storepass ikaru5@ -keypass 5uraki@

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun

Oluşturulan CSR’ı kontrol etmek için metin editörü ile açılıp

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun

linkindeki uygulama kullanılarak kontrol edilir.

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun



Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun

Doğrulama işlemi için İnternette farklı kaynaklar da mevcuttur.
CA’den Gelen Sertifikayı KeyStore’a Import Etme

Store içindeki key ve sertifikalara erişim “alias” kullanılarak gerçekleştirilir.
CA tarafından imzalanan sertifika (Makale_Sertifika.cer) tarafımıza ulaştığında, KeyStore’a import edilir:
keytool –import –trustcacerts –alias Makale_Sertifika -file Makale_Sertifika.cer -keystore "C:\Cagatay\Makale.jks" -storepass ikaru5@

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun



Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun

Sertifikayla beraber, CA’in root ve intermediate sertifikalarını edinmek gerekir. Bu sertifikalar da makalenin ilerleyen bölümlerinde TrustStore’a import edilecektir. Sertifika, CA sertifikaları ile doğrulanacak. Makalede, CA olarak COMODO seçilmiştir.

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun



Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun

CA’in Root ve Intermediate Sertifikaları:
comodo-root.cer ve comodo-intermediate.cer

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun



Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun

 

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst