PEM ve DER, aynı sertifikanın iki farklı dosya gösterimidir. İçerik (X.509 yapısı) aynıdır; fark kodlamadadır. Yanlış formatı yüklemek, sunucu kurulumlarındaki en yaygın hatalardan birine yol açar.
Farkları
- DER: İkili (binary) format. Okunabilir metin içermez. Uzantıları genelde
.der,.cer. - PEM: DER verisinin Base64 kodlanıp başlık-bitiş satırlarıyla sarılmış hali. Metin editöründe açılır; uzantıları
.pem,.crt,.cer,.keyolabilir.
PEM dosyası şu satırlarla tanınır:
-----BEGIN CERTIFICATE-----
MIIF...
-----END CERTIFICATE-----
Uzantı güvenilir bir ipucu değildir; .cer dosyası her iki formatta da olabilir. Dosyayı bir metin editöründe açıp "BEGIN CERTIFICATE" satırı olup olmadığına bakın.
Hangi platform hangisini ister?
- Apache, Nginx, HAProxy: PEM.
- Windows/IIS ve Java tabanlı araçlar: çoğunlukla DER veya .cer, ayrıca PFX/PKCS#12.
Dönüştürme komutları
# PEM -> DER
openssl x509 -in sertifika.pem -outform DER -out sertifika.der
# DER -> PEM
openssl x509 -inform DER -in sertifika.der -out sertifika.pem
# Özel anahtar PEM -> DER
openssl rsa -in anahtar.pem -outform DER -out anahtar.der
Windows'ta sertifikayı içe/dışa aktarmak için certutil -encode ve certutil -decode komutları da kullanılabilir.
Sık hatalar
- "unable to load certificate" hatası çoğunlukla DER dosyasını PEM gibi okumaya çalışmaktan kaynaklanır;
-inform DERekleyin. - Zincir dosyasında sertifikaları doğru sırada (sunucu, ara, varsa kök) birleştirin.
Kurulum öncesi dosyalarınızı SSL denetleme aracıyla kontrol edebilir, sorunlarda SSL sorun giderici sayfasından ilerleyebilirsiniz.