Bu eğitimde, Java keytool aracını kullanarak JBoss EAP ve WildFly üzerinde nasıl CSR (Sertifika İmzalama Talebi) oluşturulacağını göstereceğiz. İşlem iki komuttan oluşur: önce keytool -genkeypair seçilen bir takma ad altında bir keystore ve özel bir anahtar oluşturur, ardından keytool -certreq CA’nın vereceği Alternatif Konu Adlarını (Subject Alternative Names) içeren eşleşen CSR’yi dışa aktarır. Aynı takma ad, imzalanan sertifikayı içe aktardığınızda tekrar kullanılır; böylece anahtar, CSR ve sonunda oluşturulan sertifika tek bir yerde bulunur.
Sürümler hakkında not: güncel JBoss, Şubat 2024’te yayımlanan ve üst akış WildFly projesine dayanan Red Hat JBoss Enterprise Application Platform (EAP) 8‘dir (Temmuz 2026’da yayımlanan WildFly 41, mevcut topluluk sürümüdür). Her ikisi de HTTPS bağlantısını elytron alt sistemi ve Undertow https-listener üzerinden sağlar; eski kılavuzlarda gösterilen eski Tomcat veya Jetty bağlayıcı yapılandırması artık geçerli değildir. Ancak CSR adımının kendisi, sıradan bir Java keytool işlemi olduğu için tüm güncel sürümlerde aynıdır.
Neye ihtiyacınız olacak
- keytool komutunun kullanılabilir olması için bir Java kurulumu (JDK veya JRE). JBoss EAP 8.0, Java 11 (kullanımdan kaldırılmıştır) veya 17 üzerinde çalışır, EAP 8.1 Java 21’i ekler ve WildFly 41, Java 17, 21 veya 25 üzerinde çalışır (Java 11 artık üst akışta desteklenmemektedir).
keytool -helpkomutuyla doğrulayın. - Özel anahtarı barındıracak JBoss sunucusunda kabuk veya terminal erişimi. Özel anahtar bu sunucuda kalmalıdır.
- Güvenceye almak istediğiniz tam nitelikli alan adı (FQDN), örneğin www.yourdomain.com, ve SAN alanında kapsamak istediğiniz ek ana bilgisayar adları.
- CSR’nin Ayırt Edici Adı (Distinguished Name) için kuruluşunuzun yasal bilgileri (ülke, eyalet, ilçe, kuruluş adı).
Adım 1: Keystore ve özel anahtarı oluşturun
CSR’nizi zaten oluşturduysanız, CSR’yi gönderme bölümüne ve ardından JBoss üzerinde SSL sertifikanızı kurma bölümüne geçebilirsiniz.
JBoss sunucusunda bir terminal açın ve PKCS12 formatında yeni bir keystore oluşturun. PKCS12, modern ve taşınabilir bir standarttır (RFC 7292) ve JDK 9’dan bu yana Java’daki varsayılan keystore formatıdır; eski özel JKS formatı kullanımdan kaldırılmıştır. Şunu çalıştırın:
keytool -genkeypair
-alias jboss
-keyalg RSA -keysize 2048
-storetype PKCS12
-keystore yourdomain.p12
-validity 825
Bayrakların anlamı:
- -alias jboss: keystore içindeki girdinin adı. Tanıyacağınız bir etiket seçin (genellikle jboss, server veya alan adınız). Not alın. CSR oluştururken ve daha sonra imzalanan sertifikayı içe aktarırken tam olarak bu takma adı yeniden kullanmalısınız. İçe aktarma sırasında farklı bir takma ad kullanmak, en yaygın keytool hatasıdır.
- -keyalg RSA -keysize 2048: 2048 bitlik bir RSA anahtarı, günümüzdeki genel asgari değerdir. Birkaç yıl saklamayı düşündüğünüz yeni keystore’lar için 3072 bit makul bir yükseltmedir. Daha küçük ve daha hızlı bir anahtar tercih ediyorsanız, çoğu genel CA ayrıca ECDSA’yı da (-keyalg EC -groupname secp256r1) kabul eder. -groupname seçeneği JDK 13 veya sonrasını gerektirir; Java 11’de bunun yerine aynı secp256r1 eğrisini seçen -keyalg EC -keysize 256 kullanın. keytool, her iki seçeneği de aynı komutta reddeder.
- -storetype PKCS12: modern PKCS12 keystore’unu zorunlu kılar. Eşleşen uzantı .p12‘dir (veya .pfx).
- -keystore yourdomain.p12: oluşturulacak keystore dosyası. Adı tanıyacağınız bir isimle değiştirin ve bu dosyayı güvende tutun; özel anahtarınızı içerir.
- -validity 825: keystore içindeki kendinden imzalı yer tutucu sertifikanın ne kadar süre geçerli olduğu. CA’dan gelen imzalanmış sertifika daha sonra bunun yerini alacağından, tam değer üretim ömrünü etkilemez.
keytool ardından bir keystore parolası ister. Güçlü bir parola seçin ve gizli bilgiler yöneticinizde saklayın: sonraki her keytool komutu için ve JBoss’ta yapılandıracağınız Elytron credential-reference için bu parolaya ihtiyacınız olacak. PKCS12 keystore’larında anahtar parolası keystore parolasına eşittir, dolayısıyla hatırlanması gereken tek bir parola vardır.
Adım 2: Kuruluş bilgilerinizi (DN) girin
keytool şimdi CSR’ye giren kimlik alanları olan Ayırt Edici Adı (Distinguished Name, DN)‘ni ister. Her bir istemi kuruluşunuz için tam ve yasal değerlerle yanıtlayın. Noktalama işaretleri ve doğruluk önemlidir, çünkü bir CA, genel ticaret sicil kayıtlarıyla uyuşmazlıkları reddedecektir.
- Ad ve soyad (CN): bu keytool’un kullandığı ifadedir, ancak aslında Ortak Ad (Common Name) alanıdır. Güvenceye aldığınız tam FQDN‘yi girin, örneğin www.yourdomain.com, veya *.yourdomain.com gibi bir joker karakter. Bir kişinin adını girmeyin.
- Kuruluş birimi (OU): bu alan artık genel CA’lar tarafından verilmemektedir ve boş bırakılması en iyisidir. Enter tuşuna basmanın alanı boş bırakmadığını unutmayın: keytool kendi varsayılan değerini yerine koyar, dolayısıyla DN sonunda OU=Unknown taşır ve bu da CSR’ye geçer. Alanı gerçekten atlamak için aşağıdaki etkileşimsiz -dname biçimini kullanın ve OU’yu dizeden çıkarın.
- Kuruluş (O): şirketinizin tam yasal adı, örneğin Your Company LLC. OV ve EV sertifikaları bunu gerektirir; DV sertifikaları için birçok CA bunu bilgilendirme amaçlı olarak kabul eder, dolayısıyla doldurmak boş bırakmaktan daha güvenlidir.
- Şehir veya ilçe (L): tam şehir adı, örneğin San Jose. Kısaltma kullanmayın.
- Eyalet veya il (ST): tam eyalet veya il adı, örneğin California. İki harfli bir kod kullanmayın.
- Ülke kodu (C): iki harfli ISO ülke kodu, örneğin US, GB, DE.
Son isteğin ardından keytool, CN=www.yourdomain.com, OU=Unknown, O=Your Company LLC, L=San Jose, ST=California, C=US gibi bir özet gösterir. Onaylamak için yes yazın. Keystore dosyası artık bir girdiyle vardır: özel anahtarı ve kendinden imzalı bir yer tutucu sertifikayı barındıran takma adınız.
Etkileşimsiz bir komutu tercih ediyorsanız, DN’yi satır içinde iletin ve istemleri atlayın:
keytool -genkeypair
-alias jboss
-keyalg RSA -keysize 2048
-storetype PKCS12
-keystore yourdomain.p12
-dname "CN=www.yourdomain.com, O=Your Company LLC, L=San Jose, ST=California, C=US"
-validity 825
Adım 3: SAN ile CSR oluşturun
Modern tarayıcılar ve TLS istemcileri, sertifikaları yalnızca Ortak Ad’a göre değil, Alternatif Konu Adı (Subject Alternative Name, SAN) uzantısına göre doğrular. SAN’ları doğrudan CSR’de talep edin; böylece CA bunları verilen sertifikaya dahil eder. Adım 1’deki aynı takma adı ve keystore’u kullanın:
keytool -certreq
-alias jboss
-keystore yourdomain.p12
-file yourdomain.csr
-ext san=dns:yourdomain.com,dns:www.yourdomain.com
Bayrakların anlamı:
- -alias jboss: Adım 1’deki takma adla eşleşmelidir. Bu, özel anahtarıyla talebi imzalayan takma addır.
- -keystore yourdomain.p12: Adım 1’deki keystore ile eşleşmelidir.
- -file yourdomain.csr: CSR için çıktı dosya adı.
- -ext san=dns:…: Alternatif Konu Adı uzantısı. Sertifikanın kapsaması gereken her ana bilgisayar adını, hem kök alan adını (yourdomain.com) hem de www alt alan adını dahil ederek listeleyin. Virgülle ayırarak daha fazla giriş ekleyin, örneğin dns:api.yourdomain.com.
keytool, keystore parolasını ister ve CSR’yi geçerli dizindeki yourdomain.csr dosyasına yazar.
Kritik: takma adınızı ve keystore’unuzu koruyun
JBoss’ta en yaygın keytool hatası, imzalanan sertifikayı yeni bir takma ad altında içe aktarmaktır. Bunu yapmak, sertifikayı özel anahtarı olmayan bağımsız bir güvenilir girdi olarak depolar ve Elytron anahtar yöneticisi bir TLS oturumu başlatamaz. İmzalanan yanıtı her zaman özel anahtarı barındıran aynı takma ad altına (Adım 1’deki takma ad) geri içe aktarın.
Terminali kapatmadan önce şu üç değeri not edin:
- Takma ad (bu kılavuzda jboss).
- Keystore dosya yolu (örneğin yourdomain.p12; JBoss’ta bu genellikle $JBOSS_HOME/standalone/configuration/ dizininde bulunur).
- Keystore parolası.
Hangi takma adın anahtarınızı barındırdığından emin değilseniz, keystore içeriğini listeleyin ve türü PrivateKeyEntry olan girdiyi arayın:
keytool -list -v -keystore yourdomain.p12
Adım 4: Göndermeden önce CSR’yi doğrulayın
CA bunları doğrulamadan önce DN’deki yazım hatalarını veya eksik SAN’ları yakalayın. CSR’yi keytool ile yazdırın:
keytool -printcertreq -file yourdomain.csr
Ya da OpenSSL kuruluysa, onu da kullanabilirsiniz:
openssl req -noout -text -in yourdomain.csr
Çıktıda üç şeyi doğrulayın: Subject tam DN’nizi gösteriyor, Subject Alternative Name ihtiyacınız olan her ana bilgisayar adını listeliyor ve Public-Key boyutu istediğinizle eşleşiyor (2048 bit RSA veya seçtiğiniz başka bir değer). Aynı kontrolü tarayıcıda yapmak için CSR’yi CSR Çözücü‘müze de yapıştırabilirsiniz.
Adım 5: CSR’yi Sertifika Yetkilinize gönderin
yourdomain.csr dosyasını herhangi bir metin düzenleyicide açın. Dosya, -----BEGIN NEW CERTIFICATE REQUEST----- ile başlayan ve -----END NEW CERTIFICATE REQUEST----- ile biten düz metindir. NEW kelimesi keytool’un yazdığı bir ifadedir ve bu beklenen bir durumdur: içerik, her CA’nın kabul ettiği standart bir PKCS#10 talebidir. Bu başlık ve altbilgi satırları dahil olmak üzere tüm bloğu kopyalayın ve CA’nızla yapacağınız ödeme sırasında CSR alanına yapıştırın. Windows’ta tam metni almak için Ctrl + A ardından Ctrl + C kullanın; macOS’ta Cmd + A ardından Cmd + C kullanın.
Başka bir şey yapmadan önce keystore dosyasını yedekleyin. yourdomain.p12 dosyasını kaybederseniz özel anahtarınızı da kaybedersiniz; bu da CA’nın döndüreceği imzalanan sertifikanın kullanılamaz hale geleceği ve yeni bir CSR ile baştan başlamanız gerekeceği anlamına gelir.
CA talebinizi doğrulayıp sertifikayı verdikten sonra, JBoss üzerinde SSL sertifikanızı nasıl kuracağınız bölümüne devam edin. İmzalanan sertifikayı, aynı keystore içindeki aynı takma ada geri içe aktaracak, ardından bu keystore’u Undertow https-listener‘ına bağlanmış bir Elytron key-store, key-manager ve server-ssl-context‘ten referans alacaksınız.
Bir yenileme için CSR’yi yeniden kullanabilir miyim?
Kullanabilirsiniz, ancak güvenlik en iyi uygulaması, her sertifika için yeni bir keystore, yeni bir özel anahtar ve yeni bir CSR oluşturmaktır. Her yenileme için yeni bir anahtar, eski anahtar bir şekilde tehlikeye girerse etkiyi sınırlar ve süreç aynıdır: yeni bir keystore dosyasına karşı keytool -genkeypair ve keytool -certreq komutlarını çalıştırın. CA/Browser Forum kuralları kapsamında genel TLS sertifikası ömürleri kısalmaktadır (15 Mart 2026 itibarıyla 200 gün, 2027’de 100 güne, 2029’da 47 güne düşecek), bu nedenle daha sık CSR döngüleri için plan yapın veya CA’nız destekliyorsa ACME üzerinden verme işlemini otomatikleş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


