Bir SSL Sertifikasının İçinde Ne Var? Sertifika Çözümleyici ile Nasıl Okunur?

Bir SSL/TLS sertifikası ilk bakışta okunamaz bir metin yığını gibi görünür. Oysa içinde alan adınız, sertifikayı kimin verdiği, ne zaman geçerli olduğu ve daha pek çok bilgi açıkça yazılıdır. Bu bilgileri görmek için bir sertifika çözümleyici (certificate decoder) kullanmanız yeterlidir. Bu yazıda bir sertifikanın içinde tam olarak ne olduğunu sade bir dille açıklıyor, her alanın ne işe yaradığını ve sertifikanızı ne zaman çözümlemeniz gerektiğini anlatıyoruz.

Sertifika çözümleyici nedir?

Sertifika çözümleyici, PEM formatındaki bir sertifikayı (yani -----BEGIN CERTIFICATE----- ile başlayan metni) yapıştırdığınızda içindeki tüm alanları okunabilir biçimde gösteren bir araçtır. En önemlisi, sertifika çözümleyici aracımız %100 tarayıcınızda çalışır: sertifikanız tarayıcınızda kalır, hiçbir sunucuya yüklenmez. Bu, gizliliğiniz açısından kritik bir farktır, çünkü sertifika içeriği alan adınız ve altyapınız hakkında bilgi içerebilir.

Çevrimiçi pek çok çözümleyici, yapıştırdığınız sertifikayı işlemek için kendi sunucusuna gönderir. Bir sertifikanın açık (public) kısmı sır olmasa da, çözümlemenin tamamen sizin cihazınızda yapılması hem daha hızlıdır hem de hiçbir verinin ağ üzerinden gitmediğinden emin olmanızı sağlar. Bu yüzden tarayıcıda çalışan bir araç, kurumsal sertifikalar veya iç alan adları söz konusu olduğunda özellikle değerlidir.

Bir SSL sertifikasının içindeki alanlar

Konu (Subject)

Konu, sertifikanın kimi temsil ettiğini söyler. İçindeki en önemli alan CN (Common Name), yani sertifikanın asıl alan adıdır. Diğer alanlar şunlardır: O (kuruluş adı), OU (birim), L (şehir), ST (il/eyalet) ve C (ülke kodu). Let's Encrypt gibi ücretsiz sertifikalarda genellikle yalnızca CN bulunur; kuruluş bilgisi yer almaz.

Yayıncı (Issuer)

Yayıncı, sertifikayı kimin imzaladığını yani hangi sertifika otoritesinin (CA) verdiğini gösterir. Let's Encrypt sertifikalarında yayıncı genellikle bir Let's Encrypt ara sertifikasıdır. Konu ile Yayıncı arasındaki farkı kavramak önemlidir: Konu sizin sitenizdir, Yayıncı ise güveni sağlayan kurumdur. İkisi aynıysa elinizdeki kendinden imzalı (self-signed) bir sertifikadır.

Geçerlilik (Validity)

Her sertifikanın bir başlangıç (not before) ve bir bitiş (not after) tarihi vardır. Bu pencere dışında sertifika geçersizdir ve tarayıcılar uyarı gösterir. Let's Encrypt sertifikaları 90 gün geçerlidir, bu yüzden bitiş tarihini takip etmek ve zamanında yenilemek önemlidir.

SAN (Subject Alternative Names)

SAN, sertifikanın kapsadığı tüm alan adlarının listesidir. Modern tarayıcılar artık yalnızca CN'ye değil, SAN listesine bakar. Yani example.com ve www.example.com'un ikisinin de kapsanması için her ikisinin de SAN içinde yer alması gerekir. Bir joker (wildcard) sertifikada burada *.example.com görürsünüz.

Seri numarası ve imza algoritması

Seri numarası, CA'nın her sertifikaya verdiği benzersiz kimliktir; bir sertifikayı iptal listelerinde aramak için kullanılır. İmza algoritması ise sertifikanın nasıl imzalandığını söyler; günümüzde genellikle SHA-256 with RSA veya ECDSA tabanlı bir algoritma görürsünüz.

Açık anahtar (tip ve boyut)

Açık anahtar, şifrelemenin temelidir. Tipi RSA ya da EC (eliptik eğri) olabilir. Boyut, gücün göstergesidir: RSA için 2048 bit asgari güvenli kabul edilir, 4096 bit daha güçlüdür; ECDSA'da 256 bit, RSA 3072 bit'e denk gelen güçlü bir korumadır. Daha büyük anahtar her zaman daha hızlı değildir; EC anahtarları küçük boyutla yüksek güvenlik sunar.

Parmak izleri (SHA-1 / SHA-256)

Parmak izi, sertifikanın tamamından üretilen benzersiz bir özettir. İki tarafın elindeki sertifikanın aynı olduğunu doğrulamak için kullanılır. Örneğin bir mobil uygulamada sabitleme (pinning) yaparken veya bir destek ekibiyle sertifikayı teyit ederken SHA-256 parmak izini karşılaştırırsınız. SHA-1 artık zayıf kabul edildiği için doğrulamalarda SHA-256'yı tercih edin.

Sertifikanızı ne zaman çözümlemelisiniz?

  • CA'nın ne verdiğini doğrulamak için: Aldığınız sertifikanın gerçekten istediğiniz alan adını içerdiğinden emin olun.
  • SAN ve son kullanma tarihini kontrol etmek için: Tüm alt alan adlarınızın kapsandığını ve sertifikanın yakında dolmadığını görün.
  • Parmak izini eşleştirmek için: Sunucudaki sertifikanın beklediğiniz sertifikayla aynı olduğunu kanıtlayın.
  • Sorun giderirken: "Yanlış sertifika sunuluyor" gibi hataları teşhis edin.

Nasıl kullanılır?

  1. Sertifika dosyanızı (.crt, .pem veya fullchain.pem) bir metin düzenleyicide açın.
  2. -----BEGIN CERTIFICATE----- ile -----END CERTIFICATE----- arasındaki bloğu kopyalayın.
  3. sertifika çözümleyici aracına yapıştırın ve çözümlenen alanları inceleyin.

Bir ipucu: fullchain.pem dosyası birden fazla sertifika bloğu içerir; ilki sizin alan adınızın (sunucu) sertifikası, sonrakiler ise yayıncı zincirine ait ara sertifikalardır. Kendi alan adınızın bilgilerini görmek için ilk bloğu çözümlemeniz yeterlidir. Çözümleyiciyi ayrıca yedek olarak sakladığınız eski sertifikaların hangi alan adlarını kapsadığını ve ne zaman dolduğunu hatırlamak için de kullanabilirsiniz.

Henüz bir sertifikanız yoksa, ücretsiz 90 günlük bir Let's Encrypt sertifikasını sertifika al sihirbazımızla dakikalar içinde oluşturabilir, ardından sonucu çözümleyici ile doğrulayabilirsiniz.

Özet

Bir SSL sertifikası; Konu, Yayıncı, geçerlilik penceresi, SAN, seri numarası, imza algoritması, açık anahtar ve parmak izlerinden oluşur. Bu alanları okumak teknik bilgi gerektirmez; doğru aracı kullanmanız yeterlidir. Sertifika çözümleyici, tüm bu bilgileri saniyeler içinde ve sertifikanız tarayıcınızda kalarak tam bir gizlilikle gösterir. Sertifikanızı yenilemeden, dağıtmadan veya bir sorunu çözmeden önce hızlıca çözümleyerek her şeyin doğru olduğundan emin olun.