Bu kılavuz, OpenSSL komut satırını kullanarak Red Hat Enterprise Linux üzerinde nasıl CSR (Sertifika İmzalama Talebi) oluşturulacağını göstermektedir. Bu işlem iki dosya üretir:
- Sunucunuzda kalan ve asla paylaşılmayan bir özel anahtar.
- Sertifikayı sipariş ederken Sertifika Yetkilinize (CA) gönderdiğiniz bir CSR.
Bu kılavuz iki yaklaşımı ele almaktadır: modern OpenSSL için tek komutluk bir yöntem ve satır içi uzantıları desteklemeyen eski OpenSSL sürümleri için bir yapılandırma dosyası yöntemi. Her iki yöntem de, kamuya açık CA’ların gerektirdiği SHA-256 ile imzalanmış, SAN uyumlu bir CSR üretir.
Başlamadan önce: OpenSSL sürümünüzü kontrol edin
OpenSSL, desteklenen her RHEL sürümüne varsayılan olarak dahildir. Bunun mevcut olduğunu doğrulayın ve sürümü kontrol edin, çünkü sürüm aşağıdaki hangi yöntemi kullanabileceğinizi belirler:
openssl version
Mevcut her Red Hat sürümüyle birlikte gelen:
- RHEL 10 (2025’te yayınlandı, mevcut ana sürüm): OpenSSL 3.x
- RHEL 9: OpenSSL 3.x
- RHEL 8: OpenSSL 1.1.1
- RHEL 7: OpenSSL 1.0.2 (RHEL 7, 2024 yılında bakım desteğinin sonuna erişti; mümkün olduğunda bu iş yüklerini desteklenen bir sürüme taşıyın)
OpenSSL 1.1.1 ve 3.x, tek komutluk yöntemde kullanılan satır içi uzantı bayrağını desteklemektedir, dolayısıyla RHEL 8, 9 ve 10’da aşağıdaki Seçenek A‘yı kullanabilirsiniz. Eğer openssl version 1.0.2 veya daha eski bir sürüm bildirirse (RHEL 7), Seçenek B‘deki yapılandırma dosyası yöntemini kullanın.
Eğer OpenSSL bir şekilde eksikse, sürümünüze uygun paket yöneticisiyle kurun:
# RHEL 8, 9, and 10
sudo dnf install openssl
# RHEL 7
sudo yum install openssl
RHEL 8 ve sonraki sürümlerde, yum dnf için bir uyumluluk takma adıdır, bu nedenle bu sürümlerde her iki komut da çalışır.
Seçenek A: tek komut (OpenSSL 1.1.1 ve 3.x)
Bu, RHEL 8, 9 ve 10’da en hızlı yoldur. Önce özel anahtarı oluşturur, ardından Alternatif Konu Adlarını (SAN’ları) satır içinde ekleyerek CSR’yi oluşturur.
Adım 1: Özel anahtarı oluşturun
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key
Bu, geçerli dizinde example.com.key adında 2048 bit’lik bir RSA özel anahtarı oluşturur. 2048 bit RSA, kamuya açık CA’lar tarafından kabul edilen minimum değerdir; bunun yerine modern bir eliptik eğri anahtarı için algoritma seçeneklerini -algorithm EC -pkeyopt ec_paramgen_curve:P-256 ile değiştirin. Bu dosyayı özel tutun: sunucunuzda kalır ve CA’ya asla gönderilmez.
Adım 2: SAN’lı CSR’yi oluşturun
Aşağıdaki komutu, konu alanlarını ve alan adlarını kendinize uyacak şekilde ayarlayarak çalıştırın:
openssl req -new -sha256 -key example.com.key -out example.com.csr
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=example.com"
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"
example.com‘u tüm metin boyunca gerçek alan adınızla değiştirin ve konu alanlarını kendi bilgilerinize göre ayarlayın:
- C: iki harfli ülke kodu (örneğin, US).
- ST: tam eyalet veya bölge adı.
- L: şehir veya yerleşim yeri.
- O: yasal kuruluş adı (tek alan adlı bir DV sertifikası için bu boş bırakılabilir).
- CN: örneğin www.example.com gibi birincil tam nitelikli alan adı.
Sertifikanın kapsaması gereken her ana bilgisayar adını subjectAltName değerinde listeleyin. Modern tarayıcılar, Ortak Ad’a (Common Name) değil, SAN listesine göre doğrulama yapar, dolayısıyla birincil alan adı dahil olmak üzere her adı buraya ekleyin. Komut, CSR’yi example.com.csr dosyasına yazar.
Seçenek B: yapılandırma dosyası yöntemi (eski OpenSSL)
Eğer openssl version, -addext bayrağını desteklemeyen bir sürüm bildiriyorsa (OpenSSL 1.0.2 ve daha eski, RHEL 7’de olduğu gibi), SAN’ları bunun yerine küçük bir yapılandırma dosyasında tanımlayın.
Adım 1: Bir yapılandırma dosyası oluşturun (san.cnf)
Bir metin düzenleyiciyle san.cnf adında bir dosya oluşturun ve aşağıdakini yapıştırın, değerleri kendi alan adınız ve kuruluşunuz için düzenleyin:
[ req ]
default_bits = 2048
prompt = no
distinguished_name = dn
req_extensions = req_ext
[ dn ]
C = US
ST = California
L = San Jose
O = Your Company LLC
CN = example.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com
Numaralandırmaya devam ederek daha fazla ana bilgisayar adı ekleyin: DNS.3, DNS.4 ve bu şekilde devam eder.
Adım 2: Anahtarı ve CSR’yi oluşturun
Özel anahtarı oluşturun:
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key
Ardından yapılandırma dosyasını kullanarak CSR’yi oluşturun:
openssl req -new -sha256 -key example.com.key -out example.com.csr -config san.cnf
CSR’yi doğrulayın
Göndermeden önce, CSR’nin doğru ayrıntıları ve geçerli bir imzayı içerdiğini doğrulayın. Bu komut, konuyu, SAN listesini, anahtar boyutunu yazdırır ve talebin kendinden imzasını doğrular:
openssl req -noout -text -verify -in example.com.csr
Subject satırının ve X509v3 Subject Alternative Name girişlerinin beklediğiniz her alan adını listelediğini, ortak anahtarın en az 2048 bit RSA (veya bir P-256 eliptik eğri anahtarı) olduğunu ve imza algoritmasının SHA-256 olduğunu kontrol edin. certificate request self-signature verify OK yazan bir satır (eski sürümlerde verify OK denir) CSR ve özel anahtarın eşleştiği anlamına gelir. Bir tarayıcı tercih ederseniz, aynı ayrıntıları incelemek için CSR’yi çevrimiçi CSR kod çözücümüze yapıştırın.
CSR’yi gönderin
example.com.csr dosyasını bir metin düzenleyicide açın ve -----BEGIN CERTIFICATE REQUEST----- ve -----END CERTIFICATE REQUEST----- işaretçi satırları (her işaretçi her iki yanında beş kısa çizgi kullanır) dahil olmak üzere tüm içeriğini kopyalayın. SSL sağlayıcınızdan sertifikayı isterken tüm bloğu sipariş formuna yapıştırın.
Özel anahtarı, example.com.key‘i sunucuda tutun. Bunu CA’ya göndermeyin veya hiçbir yere yapıştırmayın: bu, çiftin gizli yarısıdır ve kontrolünüzden asla çıkmamalıdır. CA, CSR’yi doğruladıktan ve sertifikayı verdikten sonra, bunu kurmak için Red Hat Linux SSL kurulum talimatlarımızı takip edin.
Sıkça Sorulan Sorular
Özel anahtar, komutu çalıştırdığınız dizinde, -out seçeneğinde adlandırdığınız dosyaya (örneğin, example.com.key) yazılır. Yerel olarak oluşturulur ve CSR’ye hiçbir zaman dahil edilmez. Bunu güvenli bir yerde yedekleyin ve izinlerini kısıtlayın, çünkü CA’nın verdiği sertifikayı kurmak için tam olarak bu anahtara ihtiyacınız vardır.
Her ikisi de kabul edilir. 2048 bit RSA, geniş çapta uyumlu varsayılan seçenektir ve kamuya açık CA’ların izin verdiği minimum değerdir. Bir eliptik eğri anahtarı (ECDSA P-256), eşdeğer güvenlik sunarken daha küçük ve daha hızlıdır; anahtar seçeneklerini -algorithm EC -pkeyopt ec_paramgen_curve:P-256 ile değiştirerek bir tane oluşturun. Her iki durumda da, CSR’nin yukarıdaki komutların zaten yaptığı gibi SHA-256 ile imzalanması gerekir.
-addext bayrağı OpenSSL 1.1.1’de eklendi. Eğer daha eski bir sürümdeyseniz (örneğin RHEL 7’de OpenSSL 1.0.2), Alternatif Konu Adlarını komut satırında değil bir san.cnf dosyasında tanımlayan Seçenek B’deki yapılandırma dosyası yöntemini kullanın.
Sunucuda openssl req -noout -text -verify -in example.com.csr komutunu çalıştırın. Bu komut konuyu, tam SAN listesini, anahtar türünü ve boyutunu, imza algoritmasını yazdırır ve CSR’nin özel anahtarıyla eşleştiğini doğrular. CSR’yi sipariş formuna yapıştırmadan önce bu alanları inceleyin.
-----BEGIN CERTIFICATE REQUEST-----‘tan -----END CERTIFICATE REQUEST-----‘a kadar, dahil olmak üzere, hiçbir karakter atlanmadan tüm bloğu yapıştırın. Her iki işaretçi satırı da her yanında beş kısa çizgi kullanır. Özel anahtarı yapıştırmayın.
Evet. AlmaLinux, Rocky Linux ve CentOS Stream, eşleşen RHEL sürümüyle ikili uyumludur ve aynı OpenSSL’i içerir, dolayısıyla komutlar aynıdır. İhtiyacınız olması halinde CentOS üzerinde CSR oluşturma konusunda özel bir eğitimimiz de bulunmaktadır.
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

