SSL Sertifika Dönüşümleri

Almış olduğumuz SSL sertifikasını farklı sunucularda, işletim sistemlerinde veya uygulamalarda kullanmamız gerekebilir. Bunun için bir takım dönüşümler yapılması gerekir. Bu dönüşümleri openssl uygulaması ile yaparız. Bu dönüşümleri her zaman güncel olan openssl uygulaması kullanılmasını tavsiye ederim. Ayrıca uygulamanın windows sürümleri de mevcuttur.

Bir otoriteden (globalsign, SSL.com, sectigo gibi ) alınan SSL sertifikası e-posta yada site üzerinde ( -----BEGIN CERTIFICATE----- ve -----END CERTIFICATE-----) arasında bulunan harf ve rakamlardan oluşan bir dizi ile verilebildiği gibi, direk crt yada cer uzantılı olarakta verilebilmektedir. Private key bigiside aynı şekilde yanında verilir. Eğer açık olarak gelen bir sertifika ise bu bilgi kopyalanıp bir editöre yapıştırılıp uzantısı crt olarak kaydedilerek sertifikamız kullanılabilir duruma gelir. Aynı şekilde private key bilgiside alınarak uzantısı key olarak kaydedilip kullanılır duruma gelir.

Elimize gelen bu sertifika yanında sertifikayı veren otoritenin kendi sertifikası (ca) sertifikası da bulunur. Eğer otorite sertifikası yok ise ilgili sitesinden indirilerek işlemleri yapabiliriz.

Dönüşümleri PFX dosya biçimine dönüştürerek başlamak istiyorum. PFX dosya Windows işletim sistemlerinde kullanılan bir sertifika paketidir. Wilcard sertifikaları birden fazla sunucu ve uygulamalarda kullanmak üzere paket haline getirmeye ve ilgili sunuculara rahat bir şekilde kurmaya yaramaktadır.

Openssl yüklenilen klasöre (genelde bin klasörü içine) sertifika dosyamızı, key dosyamızı ve otoriteden alınan ca dosyasını kopyalayarak işleme başlıyoruz.

Sertifikamızın adı certificate.crt veya certificate.cer Key dosyasının adı privateKey.key Otorite Sertifikası adı CaCert.crt olsun. Bu dosya isimlerini siz nasıl verirseniz koda o şekilde yazmalısınız

PFX Format

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

Burada openssl uygulaması ile certificate.pfx adında bir sertifika paketi oluşturacaktır. İşlem sırasında bir parola vermemizi isteyecektir. Bu verilen parola ile paket Windows işletim sisteminde yüklerken kullanılacaktır.

PEM Format

En yaygın olarak kullanılan sertifika formatıdır. PEM sertifikasının  .cer , .crt, .pem, .key gibi uzantıları mevcuttur. PEM sertifikası  Base64 ile kodlanmış ASCII dosyasıdır. Apache ve benzeri sunucular PEM formatındaki sertifikaları kullanırlar. PEM sertifikası ve private key aynı  dosya altında bulunabilirler. Fakat apache gibi çoğu platform, sertifikaların ve private key’in farklı dosyalarda bulunmasını beklerler.

Cer uzantılı dosyayı Pem uzantılı dosyaya çevirmek için aşağıdaki komut dizileri kullanılır.

openssl x509 -in certificate.cer -out certificate.pem –outform PEM

DER  Format

Pem ASCII formatında bir sertifika dosyası iken DER uzantılı sertifika dosyaları binary formatındadır. Bazı zamanlarda bu formattaki sertifikaların uzantısı .der olsa da çoğu zaman .cer uzantısı kullanılır. Cer uzantılı bir sertifikanın DER formatında mı yoksa PEM formatında mı anlamak için sertifikayı notepad benzeri bir editör ile açıp “BEGIN………..END” ifadesini incelemek gerekir. DER formatı genellikle Java platformlarında kullanılır.

Pem uzantılı dosyayı der uzantılı dosyaya çevirmek için asağıdaki komut dizileri kullanılır.

openssl x509 -outform der -in certificate.pem -out certificate.der

DER Formattan PEM formata Dönüşüm

openssl x509 -in certificate.der -inform DER -out certificate.pem -outform PEM

P7B  – PKCS#7 Format

P7B formatı genellikle Base64 ASCII formatında saklanır ve .p7b veya .p7c uzantılı sertifika dosyalarıdır. P7B formatındaki sertifikalar “ —–BEGIN PKCS7—–” ve “—–END PKCS7—–“ ifadelerini içerir. P7B uzantılı bir dosya sadece sertifika veya sertifika çiftlerini içerir, private key’i içermez. Microsoft Windows ve Java Tomcat dâhil olmak üzere çeşitli platformlar P7B formatını desteklerler.

Cer uzantılı dosyayı P7B formatlı bir sertifikaya çevirmek için aşağıdaki komut dizileri kullanılır.

openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile cacert.cer

PFX  – PKCS#12 Format

PFX formatı; sunucu sertfikasını, herhangi bir intermediate sertifikayı (sertifika otoritesine ait public key’i içeren sertifika örnek olarak verilebilir) ve private keyi  şifrelenebilir bir dosya içinde binary formatında saklar. PFX dosyalarının uzantıları genellikle .pfx veya .p12 şeklindedir. PFX dosyaları, Windows makinelere sertifika ve private key’leri yüklemek veya windows makinelerden sertifika ve private key’leri çekmek için kullanılan dosyalardır.  Anahtar çiftlerini ve CA’ye ait root sertifikayı  birlikte içeren sertifika dosyası oluşturmak ve oluşturulan  sertifikanın başka bir yere yüklenmesi  sırasında ek bir güvenlik önlemi olarak bir şifre eklenmesini sağlamak amacıyla pfx formatının kullanımı tercih sebebidir.

openssl pkcs12 -export -in certificate.cer -inkey www. private.key -out certificate.pfx -certfile cacert.cer

SSL PFX Dosyasını Crt ve Key Olarak Çıkarmak

PFX dosya içinden key ve crt dosyalarını ayrı ayrı çıkartarak kullanabiliriz. Bunun için

Öncelikle crt dosyasını çıkartalım. Şifre sorunca pfx dosyasının şifresini giriniz.

openssl pkcs12 -in server.pfx -clcerts -nokeys -out server,.tr.crt

Crt hazır. key çıkaralım, yine şifre soracak yazıp enter a basıyoruz;

openssl pkcs12 -in server.pfx -nocerts -out server.key

Şimdi key dosyası çıktı fakat şifreli halde çıktı bunu açık bir hale getirmek için ise;

openssl rsa -in server.key -out acik.server.key

SSL eğitimini udemy üzerinden alabilirsiniz.

Related Posts

IIS Crypto Nedir?

IIS Crypto, Nartac Software tarafından geliştirilmiş bir araç olup, Windows sunucuları üzerinde SSL/TLS protokollerini, şifreleme algoritmalarını (cipher), karma algoritmalarını (hashes) ve anahtar değişim yöntemlerini (key exchange) yönetmeyi kolaylaştırır. Bu araç,…

Port Listesi

0/TCP,UDP Ayrılmış; kullanımda değil 1/TCP,UDP TCPMUX (TCP multiplexer (çoğul plexer) port servisi) 4/UDP NTP Zaman Protokolu 5/TCP,UDP RJE (Uzak(taki) Görevi Silme/Engelleme) 7/TCP,UDP ECHO protokolü 9/TCP,UDP Engelleme protokolü 13/TCP,UDP Zaman protokolü…

Geçmiş Yazılar

IIS Crypto Nedir?

  • By kzmbim
  • Aralık 14, 2024
  • 7 views
IIS Crypto Nedir?

Güçlü Parola Kullanımı: Siber Güvenliğin Temel Taşı

  • By kzmbim
  • Aralık 14, 2024
  • 7 views
Güçlü Parola Kullanımı: Siber Güvenliğin Temel Taşı

Port Listesi

  • By kzmbim
  • Aralık 10, 2024
  • 14 views
Port Listesi

2024 Yılında Kişisel Verilerin Korunması Kanunu Denetlemeleri ve Cezalar

  • By kzmbim
  • Kasım 28, 2024
  • 12 views
2024 Yılında Kişisel Verilerin Korunması Kanunu Denetlemeleri ve Cezalar

3D Baskı Siteleri

  • By kzmbim
  • Kasım 24, 2024
  • 12 views
3D Baskı Siteleri

3D Baskıda Filamentler: Doğru Seçim ve Baskı Sürecinde Dikkat Edilmesi Gerekenler

  • By kzmbim
  • Kasım 24, 2024
  • 18 views
3D Baskıda Filamentler: Doğru Seçim ve Baskı Sürecinde Dikkat Edilmesi Gerekenler