Ömer'in Yeri

SSL Sertifika Tiplerinin Birbirlerine Dönüştürülmeleri

SSL sertifikaları birçok farklı dosya formatında olabiliyor. Bunların bazılarının kodlaması aynı olduğu için sadece dosya uzantısını değiştirerek kullanabiliyorken diğerleri için araç kullanarak tekrar kodlamanız gerekiyor. Hangisi hangisiydi diye hatırlamak zor ve karıştırmaya müsait. Bu yazıda hepsini özetleyeceğim.

Yaygın sertifika tipleri

  1. PEM (.pem, .crt, .cer, .key)
    En yaygın formattır, hem sertifikanın kendisini hem de gizli anahtarını içerebilir. Base64 ile kodlanır ve diğer formatlara kolaylıkla dönüştürülebilir.
  2. DER (.der, .cer)
    İkili (binary) bir formattır, genelde Java ortamlarında kullanılır. Sadece bir tane sertifika ya da anahtar içerebilir.
  3. PFX/PF12 (.pfx, .p12)
    Sertifika zincirleri ve gizli anahtarları tekil şifrelenmiş bir dosyada saklamak için kullanılır. Genelde Windows ortamlarında kullanılır.

Dönüşüm örnekleri

Sertifika işlemleri için aslında genel maksat bir kriptografi kütüphanesi olan OpenSSL yaygın olarak kullanılır. İşletim sisteminizin paket yöneticisinden edinerek aşağıdaki komutları çalıştırabilirsiniz. Aynı zamanda bir çok programlama dili için de bağları (binding) bulunduğu için kendi betiklerinizde (script) kullanabilirsiniz.

.crt’den .cer’e

Eğer elinizdeki .crt sertifikası PEM formatındaysa (ki yaygın olan budur) basitçe uzantısını .cer olarak değiştirebilirsiniz. Yok eğer elinizdeki .crt PEM formatında olup siz DER elde etmek istiyorsanız aşağıdaki komutu çalıştırabilirsiniz.

openssl x509 -in cert.crt -outform der -out cert.cer

Bu komut, cert.crt dosyasından PEM kodlu sertifikayı okuyacak ve cert.cer dosyasına DER kodlu bir sertifika çıktısı verecektir.

.pfx’ten (PKCS#12) .cer (PEM ya da DER)

  1. PFX dosyasından sertifikayı çıkartma:
openssl pkcs12 -in dosya.pfx -clcerts -nokeys -out cert.cer

clcerts bayrağı çıkartılan sertifikalardan varsa CA olanları hariç tutmak için kullanılır. nokeys bayrağı çıktıda gizli anahtar dahil edilmemesini sağlamak içindir.

  1. Eğer .cer dosyasının DER formatında olmasına ihtiyacınız varsa:
openssl x509 -in cert.cer -outform der -out cert_der.cer

Rehber — 28 Şubat 2024

🌑 moda geç.