CSR Çözücü

Bir Sertifika Otoritesi (CA) TLS sertifikanızı imzalamadan önce, ona bir Sertifika İmza Talebi (CSR) verirsiniz: sertifikada yer almasını istediğiniz konu bilgisini ve açık anahtarınızı, ayrıca ilgili özel anahtara sahip olduğunuzu kanıtlayan bir imzayı içeren bir Base64 bloğudur. Bu çözücü PEM biçiminde kodlanmış bir CSR alır ve sahibine ait alanlar ile açık anahtarın parametrelerini gösterir; böylece talebi bir CA’ya sunmadan önce genel adı, kuruluşu ve anahtar boyutunu kontrol edebilirsiniz.

CSR nasıl çözülür

  1. 1

    CSR'yi yapıştırın

    `-----BEGIN CERTIFICATE REQUEST-----` ve `-----END CERTIFICATE REQUEST-----` işaretlerini ekleyin. Boşluklar tolere edilir.

  2. 2

    Çözücüyü çalıştırın

    İstek ayrıştırılır ve sahibine ait alanlar ile açık anahtar okunur.

  3. 3

    Çıktıyı inceleyin

    Genel ad ve kuruluş gibi sahibine ait alanları, ayrıca anahtarın algoritmasını ve boyutunu kontrol edin.

  4. 4

    Sonuca göre hareket edin

    Sahibi veya anahtar hatalı görünüyorsa, talebi bir CA'ya sunmadan önce CSR'yi yeniden oluşturun.

Çözücünün gösterdiği içerik

Bir CSR, üç üst düzey bileşenden oluşan bir ASN.1 yapısıdır (PKCS #10). Çözücü bundan iki şey okur:

  • Sahibi (subject): istenen Ayırt Edici Ad alanları; genellikle ülke (C), kuruluş (O), kuruluş birimi (OU), konum (L), il (ST) ve genel ad (CN).
  • Açık anahtar: algoritma (RSA, EC, DSA) ve bit cinsinden anahtar boyutu.

CSR içindeki imza, gönderenin karşılık gelen özel anahtara sahip olduğunu CA’ya kanıtlayan unsurdur. Bu çözücü imzayı göstermez; CA, isteği işlerken imzayı doğrular.

Örnek çıktı

Tipik bir alan adı sertifikası isteğinde çıktı şöyle görünür:

Subject: commonName=www.example.com, organizationName=Example Inc., countryName=US
Key bits: 2048
Key type: RSA

Sahipteki öznitelik adlarının tam karşılığı, isteğin nasıl oluşturulduğuna bağlıdır.

Tekrar kontrol edilecek alanlar

  • Genel Ad (CN): Esas ana isim olmalıdır. Modern tarayıcılar CN’yi göz ardı ederek yalnızca SAN’lara bakar; ancak birçok CA hâlâ geçerli bir CN gerektirir.
  • Konu Alternatif Adları (SAN’lar): Sertifikanın koruyacağı tüm ana bilgisayar adlarını ve joker karakterleri listeleyin. Tarayıcılar, CN yerine SAN’lara göre eşleştirme yapar.
  • Ülke (C): Tam ad değil, 2 harfli ISO kodu (US, GB, DE). CA’lar yanlış kodları reddeder.
  • Anahtar boyutu: RSA 2048 en düşük değerdir; daha yüksek güvenlik için 3072 veya 4096 kullanılır. ECDSA P-256 ise iyi bir modern alternatiftir ve daha küçük bir sertifika üretir.
  • İmza algoritması: SHA-256 veya daha gelişmiş bir algoritma. SHA-1 uzun süredir kullanılmıyor ve reddedilecektir.

Konu Alternatif Adları (SAN) hakkında

Çözücü isteğin sahibini gösterir ancak SAN uzantısını göstermez. Tarayıcılar sertifikaları CN yerine SAN’lara göre eşleştirir; sertifikanın ek ana bilgisayar adlarını kapsaması gerekiyorsa, isteği oluştururken bunları ekleyin, örneğin:

openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr -addext "subjectAltName=DNS:example.com,DNS:www.example.com"

Çözücü CSR’yi ayrıştıramadığında

En yaygın nedenler, kesilmiş veya bozulmuş bir PEM bloğudur:

  • Kesilmiş metin: her iki işaret dahil tüm bloğu yeniden yapıştırın.
  • Eklenmiş satır sonları: bloğu oluşturulduğu haliyle aynen yapıştırın.
  • Yanlış içerik: yanlışlıkla yapıştırılan bir açık anahtar, sertifika veya özel anahtar CSR olarak ayrıştırılmaz.

Eşleşen anahtarın oluşturulması

Bir CSR her zaman özel anahtarla birlikte oluşturulur. Tipik komut:

openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr

Ya da ECDSA için:

openssl req -new -newkey ec:<(openssl ecparam -name prime256v1) -nodes -keyout example.key -out example.csr

Özel anahtarı koruyun; sızdırsa sertifika iptal edilmelidir.

Sık Sorulan Sorular

Bir CSR yalnızca kamuya açık bilgileri (kamu anahtarı, konu ve SAN’lar) ile bir imza içermektedir; bu nedenle bir CA ile paylaşılması veya bir çözücüye kopyalanması güvenlidir. Gizli kalması gereken ise eşleşen özel anahtardır.

Hayır. Bu çözücü, BEGIN/END CERTIFICATE REQUEST işaretlerini içeren metin PEM biçimini bekler. İkili DER isteği kullanmak için önce onu PEM biçimine dönüştürün, örneğin openssl req -in request.der -inform DER -out request.pem komutuyla.

Hayır. Çoğu kamu CA’sı (Let’s Encrypt, DigiCert, Sectigo), yalnızca CN ve SAN’ları gerektirir; alan doğrulanan sertifikalarda bulunan O, OU, L, ST ve C alanlarını göz ardı eder. Kuruluş doğrulanan ve Genişletilmiş Doğrulama sertifikaları ise bu alanları ayrı ayrı doğrular.

Çoğunlukla yapıştırılan metin kesildiği veya satır sonları eklendiği için, ya da CSR yerine bir anahtar veya sertifika yapıştırıldığı için. İki işaret arasındaki tam bloğu yeniden yapıştırın.

İlgili Araçlar

Araç diğer dillerde mevcuttur