- 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;
İ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:
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.)
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.
Oluşturulan CSR’ı kontrol etmek için metin editörü ile açılıp
linkindeki uygulama kullanılarak kontrol edilir.
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:
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.
CA’in Root ve Intermediate Sertifikaları:
comodo-root.cer ve comodo-intermediate.cer
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
İ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:
- Keystore ve keystore içinde bir Private Key oluşturulması
- Private key kullanılarak CSR oluşturulması, CSR’ın kontrol edilmesi ve imzalanmak üzere CA’ya gönderilmesi
- CA’dan gelen sertifikanın Keystore import edilmesi
- 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)
- TrustStore içindeki kullanılmayacak private key’in silinmesi
- Store içindeki nesnelerin export edilmesi
- Java kod parçacığı ve/veya uygulama sunucusu üzerinde yapılması gereken değişiklikler
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
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
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
Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun
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
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
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