bg-tutorials

Red Hat Linux’ta CSR Nasıl Oluşturulur

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

RHEL üzerinde bir CSR oluşturduğumda özel anahtar nerede saklanır?

Ö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.

Anahtar için RSA mı yoksa ECDSA mı kullanmalıyım?

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.

OpenSSL sürümüm -addext’i desteklemiyor. Ne yapmalıyım?

-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.

Sipariş vermeden önce CSR’mimin doğru olduğunu nasıl kontrol ederim?

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.

CSR’nin hangi bölümünü sipariş formuna yapıştırmalıyım?

-----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.

Bu, AlmaLinux, Rocky Linux ve CentOS’ta da aynı şekilde çalışır mı?

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

A detailed image of a dragon in flight
Tarafından yazıldı

SSL Sertifikaları konusunda uzmanlaşmış deneyimli içerik yazarı. Karmaşık siber güvenlik konularını açık, ilgi çekici içeriğe dönüştürmek. Etkili anlatımlar yoluyla dijital güvenliğin geliştirilmesine katkıda bulunun.