SSL Dosya Türleri: CRT, KEY, PEM, PFX, CSR ve CA Bundle Nedir?

SSL sertifikanızı indirdiğinizde elinizde bir sürü dosya uzantısı oluşur: .crt, .key, .pem, .pfx, .csr ve bir de CA Bundle. İlk bakışta hepsi birbirine benzer ama her biri farklı bir iş yapar ve yanlış dosyayı yanlış yere koymak HTTPS'in hiç çalışmaması demektir. Bu rehberde tüm SSL dosya türlerini tek tek açıklıyor, içlerinde ne olduğunu gösteriyor ve hangi sunucunun hangi dosyayı istediğini netleştiriyoruz. Sonunda "elimdeki dosyalar ne işe yarıyor, hangisini nereye koyacağım?" sorusunun cevabı net olacak.

PEM nedir? (Format mı, dosya mı?)

PEM aslında bir sertifika türü değil, bir kodlama formatıdır. Base64 ile kodlanmış, ASCII metin biçiminde verileri ifade eder ve içeriği -----BEGIN CERTIFICATE----- ile -----END CERTIFICATE----- arasında durur. Bir dosyayı metin editöründe açtığınızda bu satırları görüyorsanız o dosya PEM formatındadır. CRT, KEY ve CA Bundle dosyalarının çoğu aslında PEM kodlamasıyla yazılmıştır; bu yüzden .pem uzantısı genel bir kaptır.

CRT / CER — Sertifikanın kendisi

CRT (ya da .cer) dosyası, sertifika yetkilisinin (CA) imzaladığı asıl SSL sertifikanızdır. İçinde alan adınız, geçerlilik tarihleri ve genel anahtarınız (public key) bulunur. -----BEGIN CERTIFICATE----- ile başlar. Bu dosya gizli değildir; tarayıcıya sunulan herkese açık bilgidir.

KEY — Özel anahtar (asla paylaşmayın)

KEY dosyası sertifikanızın özel anahtarıdır ve -----BEGIN PRIVATE KEY----- ile başlar. HTTPS şifrelemesinin kalbi budur. Bu dosya sızarsa sertifikanız güvenli sayılmaz. Bu yüzden private key'i hiçbir zaman e-postayla göndermeyin, herkese açık bir yere koymayın ve sadece sunucunuzda saklayın.

CSR — İmzalama talebi

CSR (Certificate Signing Request), bir CA'dan sertifika talep ederken oluşturulan dosyadır. Alan adı ve organizasyon bilgilerinizi içerir ve -----BEGIN CERTIFICATE REQUEST----- ile başlar. Önemli ayrım: CSR özel anahtarı İÇERMEZ, sadece genel anahtarı ve talep bilgilerini taşır. Sertifika oluşturulduktan sonra CSR'a artık ihtiyacınız kalmaz.

CA Bundle — Ara zincir

CA Bundle (ara sertifika zinciri), tarayıcının sertifikanızın gerçekten güvenilir bir kök yetkiye dayandığını doğrulamasını sağlar. Kendi sertifikanızla kök sertifika arasındaki "ara" sertifikaları içerir. Bu dosya eksik olursa bazı tarayıcılar "sertifika güvenilir değil" uyarısı verir.

fullchain — Sertifika + zincir birleşik

fullchain dosyası, sizin sertifikanız (CRT) ile CA Bundle'ın tek dosyada birleştirilmiş halidir. Nginx gibi sunucular zinciri ayrı ayrı değil, birleşik tek dosya olarak istediği için bu pratiktir.

PFX / P12 — Windows'un sevdiği paket

PFX (ya da .p12), yukarıdakilerin aksine ikili (binary) ve şifreli bir pakettir. Sertifikayı, özel anahtarı ve zinciri tek bir şifre korumalı dosyada toplar. Windows ve IIS dünyası PEM yerine bu formatı kullanır; içe aktarırken bir parola istenir.

openssl ile format dönüşümü

PEM dosyalarını Windows için PFX'e dönüştürmek (ya da tersini yapmak) tek komutla mümkündür:

# PEM (crt + key + zincir) -> PFX
openssl pkcs12 -export -out sertifika.pfx \
  -inkey ozel.key -in sertifika.crt -certfile ca_bundle.crt

# PFX -> PEM (sertifika + anahtar)
openssl pkcs12 -in sertifika.pfx -out sertifika.pem -nodes

Hangi sunucu hangi dosyayı ister?

  • Apache: SSLCertificateFile için crt, SSLCertificateKeyFile için key, SSLCertificateChainFile için ca_bundle ister (üç ayrı dosya).
  • Nginx: ssl_certificate için fullchain (sertifika + zincir birleşik) ve ssl_certificate_key için key ister (iki dosya).
  • IIS / Windows: Tek bir pfx dosyası ister; sertifika, anahtar ve zincir içindedir.
  • cPanel / Plesk: Genelde crt, key ve ca_bundle alanlarını ayrı ayrı yapıştırmanızı ister.

Özet

Kısaca: CRT sertifikanız, KEY gizli anahtarınız, CA Bundle ara zincir, fullchain bunların birleşiği, PFX ise Windows için şifreli paket; CSR ise sadece talep dosyasıdır ve sunucuya kurulmaz. İyi haber şu: ücretsiz SSL sihirbazımız ile sertifika oluşturduğunuzda crt, key, ca_bundle, fullchain ve pfx dosyalarının hepsi tek bir ZIP içinde size gelir, hiçbirini elle dönüştürmenize gerek kalmaz. Sunucunuz hangisini isterse onu seçip yerleştirin; gerisini biz hallederiz. Üyelik gerekmeden, 90 gün geçerli ücretsiz sertifikanızı almak için hemen ücretsiz SSL sihirbazımıza göz atın.