Bu eğitimde, Java keytool aracını ve asadmin komut satırını kullanarak GlassFish’e (şimdi Eclipse GlassFish) SSL sertifikasının nasıl kurulacağını öğreneceksiniz.
GlassFish için CSR kodu oluşturma
Bir SSL sertifikası sipariş ederken ilk adım, CSR (Sertifika İmzalama Talebi) oluşturup Sertifika Yetkilinize (SSL sağlayıcınıza) göndermektir. CSR, web siteniz ve kuruluşunuz hakkında ayrıntılar içeren bir metin bloğudur. CA, kimliğinizi doğrulamak için bunu kullanır; dolayısıyla CSR yanlış veya güncel olmayan bilgiler içeriyorsa CA sertifikanızı imzalamaz.
GlassFish’te CSR, bir Java keystore’undan keytool ile oluşturulur ve kurulum sırasında yeniden kullanacağınız özel anahtar da aynı keystore’da tutulur. İki seçeneğiniz vardır:
- CSR’ı otomatik olarak oluşturmak için CSR Oluşturucumuzu kullanın.
- GlassFish’te CSR nasıl oluşturulur başlıklı adım adım eğitimimizi takip edin.
CSR dosyanızı herhangi bir metin düzenleyicisiyle (örneğin Notepad) açabilirsiniz. CA’nıza göndermeden önce, yazım hatalarını veya hataları son bir kez kontrol etmenizi öneririz. İncelemek için CSR kod çözme aracımızı kullanın.
Sertifikanızın doğrulama türüne bağlı olarak, verilme süresi birkaç dakikadan birkaç iş gününe kadar değişebilir. SSL dosyaları gelen kutunuza ulaştığında, aşağıdaki kurulumla devam edin.
GlassFish’e SSL sertifikası kurma
GlassFish kurulumunun temelindeki ana fikir, imzalı sertifikanızın CSR’nizle oluşturulan özel anahtara bağlanması gerektiğidir. Bunu, sertifika zincirini ve imzalı sertifikayı, o anahtarı zaten içeren aynı keystore’a (CSR’ı oluşturmak için kullandığınız keystore’a) aktararak yaparsınız.
Adım 1: Sertifika dosyalarınızı çıkarın
CA’nız sertifikayı, sağladığınız adrese genellikle bir ZIP arşivi olarak e-postayla gönderir. Bunu çıkarın. Dosyalar iki formattan birinde gelir:
- PEM: ayrı dosyalar, tipik olarak bir .crt (sunucu sertifikanız) ve bir .ca-bundle (kök ve ara sertifikalar).
- PKCS#7: sertifikanızı tam zincirle birlikte paketleyen tek bir .p7b (veya .cer) dosyası.
Adım 2: SSL dosyalarını GlassFish sunucunuza yükleyin
Çıkardığınız dosyaları, CSR’nizi oluşturduğunuz keystore’un bulunduğu dizinle aynı dizine (aşağıda mykeystore.jks olarak anılacaktır) yükleyin. PEM formatı iki içe aktarma komutu gerektirir; PKCS#7 için tek bir komut yeterlidir. Dosyalarınıza uygun formatı seçin.
PEM formatı. keytool’un tam bir güven zinciri oluşturabilmesi için önce CA paketini içe aktarın, ardından sunucu sertifikanızı içe aktarın. CA paketini şu şekilde içe aktarın:
keytool -import -trustcacerts -alias ca -file file.ca-bundle -keystore mykeystore.jks
Bu zincir girdisinin takma adı için, özel anahtar takma adınızdan farklı olması koşuluyla istediğiniz herhangi bir ad kullanabilirsiniz (burada, ca). Ardından, imzalı sunucu sertifikanızı, CSR’ı oluştururken kullandığınız mevcut özel anahtar takma adına içe aktarın:
keytool -import -trustcacerts -alias myalias -file file.crt -keystore mykeystore.jks
Burada, myalias zaten özel anahtarınızı barındıran takma ad olmalıdır. Bu takma adın bir anahtarı olduğundan, keytool bu içe aktarmayı bir sertifika yanıtı olarak ele alır ve imzalı sertifikayı anahtara bağlar. HTTPS’yi çalışır kılan adım budur; aşağıdaki uyarıya bakın.
PKCS#7 formatı. Bir .p7b dosyası zaten tam zinciri içerir, dolayısıyla tek bir komut her şeyi bir kerede, yine özel anahtar takma adına aktarır:
keytool -import -trustcacerts -alias myalias -file file.p7b -keystore mykeystore.jks
keytool, keystore parolanızı ister. Yukarıdaki gibi, myalias mevcut özel anahtar takma adınızla eşleşmelidir. Takma adı hatırlamıyorsanız, keystore’un içeriğini listeleyin:
keytool -list -v -keystore mykeystore.jks
Türü PrivateKeyEntry olan girdiyi arayın; imzalı sertifikanızın aktarılması gereken takma ad budur.
⚠️ Kritik tuzak: imzalı sertifikayı yepyeni bir takma ad altında içe aktarmayın. Takma adın mevcut bir özel anahtarı yoksa, keytool sertifikayı hiçbir anahtar bağlı olmadan bağımsız bir güvenilir girdi olarak saklar ve TLS başarısız olur. Yanıtı her zaman anahtarı zaten barındıran takma ada aktarın (varsayılan GlassFish takma adı: s1as).
Adım 3: Varsayılan GlassFish keystore’una aktarın
Sertifikanız yerine yerleştirildikten sonra, keystore’unuzu varsayılan GlassFish keystore’una aktarın. Varsayılan bir kurulumda bu, alan adının config dizininde bulunur, örneğin glassfish/domains/domain1/config/keystore.jks (daha eski GlassFish 4 derlemeleri bunu glassfish4/ üst klasörünün altına yerleştirir). Eşleşen güven deposu (truststore), aynı dizindeki cacerts.jks dosyasıdır.
Not: GlassFish varsayılan olarak domain1 oluşturur. Kendi alan adınızı eklediyseniz, bunun yerine o dizini kullanın.
Keystore’unuzu GlassFish keystore’una şu şekilde aktarın:
keytool -importkeystore -srckeystore mykeystore.jks -destkeystore keystore.jks
Adım 4: Keystore parolalarını eşleştirin
GlassFish keystore’unun parolası, alan adı için GlassFish ana parolasıyla (master password) eşleşmelidir. Ana parola, keystore parolası ve özel anahtar parolası birbiriyle tam olarak eşleşmezse, GlassFish anahtarı açamaz ve SSL sertifikanız çalışmaz. (Yeni bir alan adında, varsayılan keystore parolası changeit‘tir.)
Adım 5: GlassFish yapılandırmanızı güncelleyin
Başarılı bir içe aktarmadan sonra, GlassFish’in HTTPS dinleyicisini (listener) sertifikanıza yönlendirin, böylece varsayılan kendinden imzalı sertifika yerine yeni sertifikayı sunar. Bunu tarayıcı üzerinden GlassFish Yönetim Konsolu aracılığıyla veya manuel olarak domain.xml dosyasını düzenleyerek yapabilirsiniz.
Seçenek A: Yönetim Konsolu. Önce, alan adı için güvenli yönetimi etkinleştirin:
asadmin enable-secure-admin
Değişikliğin etkili olması için GlassFish alan adını (varsayılan domain1‘dir) yeniden başlatın:
asadmin restart-domain domain1
Şimdi konsolu https://yoursite.com:4848 adresinde açın. Kendinden imzalı sertifika uyarısını kapatıp devam edin. Configurations > server-config > HTTP Service > HTTP Listeners > http-listener-2 yoluna gidin.
SSL sekmesini açın ve Certificate Nickname alanına sertifika takma adınızı (keystore takma adınızla aynı) girin. Ardından General sekmesine geçin ve dinleyici bağlantı noktasını 443 olarak değiştirin. GlassFish, HTTPS için varsayılan olarak 8181 kullanır. Değişikliklerinizi kaydedin.
Bazen konsolda her yapılandırma referansı yeni takma ada güncellenmez. Bu durumda, değişikliği manuel olarak domain.xml’de tamamlayın (Seçenek B).
Seçenek B: domain.xml’i düzenleyin. domain.xml dosyası aynı config dizininde bulunur, örneğin glassfish/domains/domain1/config/domain.xml. Güvenli bir düzenleme için önce alan adını durdurun:
asadmin stop-domain domain1
domain.xml’i bir metin düzenleyicisinde açın ve varsayılan GlassFish sertifika takma adı olan s1as‘ı bulmak için Bul (Ctrl+F) özelliğini kullanın. Her s1as geçtiği yeri sertifika takma adınızla (bu kılavuzda myalias) değiştirin. Tümünü güncellemek, Yönetim Konsolunu da sertifikanızla güvenli hale getirir.
domain.xml’i kaydedin ve alan adını yeniden başlatın:
asadmin start-domain domain1
Tebrikler, SSL sertifikanız artık GlassFish sunucunuza kurulmuş durumdadır.
SSL kurulumunuzu test edin
Sertifikayı kurduktan sonra, kurulumunuzun durumunu test etmek için SSL denetleyicimizi çalıştırın. Anlık tarama, tarayıcıların sertifikanızı nasıl ele aldığını etkileyebilecek hataları veya güvenlik açıklarını (eksik bir ara sertifika veya güvenilmeyen bir zincir gibi) ortaya çıkarır.
GlassFish için SSL sertifikası nereden satın alınır?
GlassFish için SSL sertifikası satın almanın en iyi yeri SSL Dragon‘dır. Piyasadaki en düşük fiyatlardan bazılarını ve tüm SSL ürün yelpazemizde düzenli indirimler sunuyoruz, ayrıca güçlü şifreleme ve özel destek için sektördeki en iyi SSL markalarıyla ortaklık kurduk. Tüm SSL sertifikalarımız GlassFish ile uyumludur.
Seçim yapmanıza yardımcı olmak için iki ücretsiz araç geliştirdik. SSL Sihirbazımız, projeniz ve bütçeniz için en iyi SSL anlaşmasını bulmak için sadece birkaç saniyeye ihtiyaç duyar.
Sıkça Sorulan Sorular
Bir GlassFish alan adı, config dizininde iki JKS dosyasıyla birlikte gelir: özel anahtarları barındıran keystore.jks ve güvenilen CA sertifikalarının güven deposu olan cacerts.jks. Her ikisi de varsayılan olarak domains/domain1/config/ dizininde bulunur. Güvenli HTTP dinleyicisi tarafından kullanılan varsayılan sertifika takma adı s1as‘dır ve varsayılan keystore parolası changeit‘dir.
Genellikle sebep, imzalı sertifikayı özel anahtarınızı zaten barındıran takma ad yerine yeni bir takma ad altında içe aktarmaktır. keytool bunu daha sonra anahtarı olmayan güvenilir bir sertifika girdisi olarak saklar, bu nedenle GlassFish bir TLS el sıkışmasını tamamlayamaz. İmzalı yanıtı, mevcut özel anahtar takma adına (varsayılan s1as) yeniden içe aktarın. İkinci en yaygın sebep bir parola uyuşmazlığıdır; keystore, anahtar ve alan adı ana parolasının tümü aynı olmalıdır.
CA paketini (kök ve ara sertifikalar) önce, güvenilir bir girdi olarak içe aktarın. Bu, imzalı sunucu sertifikanızı özel anahtar takma adına aktardığınızda keytool’un tam bir zincir oluşturmasını sağlar. Bir PKCS#7 (.p7b) dosyasıyla zincir zaten paketlenmiştir, dolayısıyla tek bir içe aktarma her şeyi halleder.
Değişiklikleri bir adımda uygulamak için asadmin restart-domain domain1 komutunu çalıştırın, veya alan adını ayrı ayrı durdurup başlatmak için asadmin stop-domain domain1 ardından asadmin start-domain domain1 komutlarını kullanın. Güvenli yönetimi etkinleştirdikten ve domain.xml’i düzenledikten sonra yeniden başlatma gereklidir.
Varsayılan olarak, güvenli dinleyici (http-listener-2) 8181 bağlantı noktasını kullanır ve Yönetim Konsolu 4848 bağlantı noktasını kullanır. HTTPS’yi standart bağlantı noktasında sunmak için, dinleyici bağlantı noktasını Yönetim Konsolunda veya domain.xml’de 443 olarak değiştirin.
Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!
Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10


