Bir web sitesi veya sunucu yönetiyorsanız, SSL/TLS sertifikanızı düzenli olarak kontrol etmek atlayamayacağınız görevlerden biridir. Süresi dolmuş veya yanlış yapılandırılmış bir sertifika, tarayıcı uyarıları, bozulmuş güven ve olası kesinti süresi anlamına gelir.

OpenSSL — hemen hemen her Linux dağıtımında, macOS sisteminde kullanılan ve Windows’ta da bulunan açık kaynaklı komut satırı araç seti — sertifika detaylarına doğrudan, filtresiz erişim sağlar. Tarayıcıya gerek yok. Üçüncü taraf araçlara gerek yok. Sadece bir terminal ve birkaç kısa komut yeterli.
Bu kılavuz, en sık kullanacağınız OpenSSL komutlarını kapsar: sertifika detaylarını görüntüleme, son kullanma tarihlerini kontrol etme, uzak sunucuları inceleme, sertifika zincirlerini doğrulama ve özel anahtarınızın sertifikanızla eşleştiğini onaylama. Her komut, ne işe yaradığına dair net bir açıklama ile kopyala-yapıştır kullanıma hazırdır.
Bunun yerine tarayıcıda mı çalışıyorsunuz? SSL Checker, terminal gerektirmeden yalnızca bir alan adından zincir, son kullanma tarihi, şifreleme paketleri ve güvenlik derecelendirmesi gibi aynı sertifika detaylarını döndürür veya sertifikayı Chrome, Firefox, Safari ya da Edge’de kendiniz okuyabilirsiniz. Bu kılavuz, komut satırından yapmayı tercih edeceğiniz her şeyi kapsar.
İçindekiler
- Ön Koşullar: OpenSSL Sürümünüzü Kontrol Edin
- openssl x509 ile Tam Sertifika Detaylarını Görüntüleme
- openssl s_client ile Uzak Bir Sunucunun Sertifikasını Kontrol Etme
- Sertifika Son Kullanma Tarihlerini Doğrulama
- openssl verify ile Sertifika Zincirini Doğrulama
- Özel Anahtarınızın Sertifikanızla Eşleştiğini Onaylama
- Sertifika Formatları Arasında Dönüştürme
- Yaygın Sertifika Hatalarını Giderme
- Sertifikalarınızı Kontrol Altında Tutun
Save 10% on SSL Certificates when ordering from SSL Dragon today!
Fast issuance, strong encryption, 99.99% browser trust, dedicated support, and 25-day money-back guarantee. Coupon code: SAVE10
Ön Koşullar: OpenSSL Sürümünüzü Kontrol Edin
Herhangi bir komut çalıştırmadan önce, OpenSSL‘in yüklü olduğunu doğrulayın ve hangi sürümü çalıştırdığınızı kontrol edin. Sürümünüz, hangi protokollerin ve algoritmaların kullanılabilir olduğunu belirler.
openssl version –a
Bu komut, sürüm numarasını, yayın tarihini ve varsayılan sertifika dizinini (OPENSSLDIR) çıktı olarak verir. Çoğu Linux sistemi OpenSSL ile önceden yüklü gelir. macOS’ta, aynı komutları işleyen LibreSSL (bir OpenSSL çatalı) ile birlikte gelir.
Windows kullanıyorsanız, OpenSSL’e WSL (Windows Subsystem for Linux), Git Bash veya bağımsız bir Windows derlemesi üzerinden erişebilirsiniz.
İpucu: En azından OpenSSL 1.1.1 veya daha yeni bir sürüm çalıştırdığınızdan emin olun. Eski sürümler, modern sunucular ve tarayıcılar tarafından gerekli olan TLS 1.2 ve TLS 1.3 desteğinden yoksundur.
openssl x509 ile Tam Sertifika Detaylarını Görüntüleme
openssl x509 komutu, sertifika incelemesi için ana araçtır. Tüm SSL/TLS sertifikaları tarafından kullanılan standart format olan X.509 sertifikalarını okur ve detayları insan tarafından okunabilir bir biçimde çıktı olarak verir.
Yerel olarak depolanan bir sertifika dosyasının tam detaylarını görüntülemek için:
openssl x509 -in certificate.crt -text -noout
İşte her bayrağın (flag) ne yaptığı:
- -in certificate.crt — Giriş sertifika dosyasını belirtir. Kendi dosya adınızla değiştirin (örneğin, yourdomain.crt veya server.pem).
- -text — Sertifikayı ham kodlanmış veri yerine okunabilir metin formatında çıktı olarak verir.
- -noout — OpenSSL’in metin çıktısının yanı sıra Base64 kodlu PEM bloğunu yazdırmasını engeller.
Bu komut, sertifika hakkında her şeyi ortaya çıkarır:
- Uzantılar — Subject Alternative Names (SAN’lar), Key Usage ve Authority Information Access dahil.
- Veren (Issuer) — Sertifikayı imzalayan Sertifika Otoritesi (CA) (örneğin, DigiCert, Let’s Encrypt, Sectigo).
- Konu (Subject) — Sertifikanın verildiği alan adı veya kuruluş.
- Geçerlilik süresi — Sertifikanın ne zaman aktif olduğunu gösteren “Not Before” ve “Not After” tarihleri.
- Genel anahtar algoritması ve boyutu — Genellikle RSA 2048-bit veya ECDSA P-256.
- İmza algoritması — Modern sertifikalar için genellikle sha256WithRSAEncryption.
Yalnızca Veren veya Konu Bilgisini Kontrol Etme
Tam çıktıya ihtiyacınız yoksa, belirli alanları çekebilirsiniz:
openssl x509 -in certificate.crt -noout -issuer
openssl x509 -in certificate.crt -noout -subject
Bu tek satırlık komutlar, özellikle betik yazarken veya hızlı bir onay gerektiğinde son derece kullanışlıdır.
Not: OpenSSL varsayılan olarak PEM formatını bekler — bunlar —–BEGIN CERTIFICATE—– ile başlayan metin dosyalarıdır. Sertifikanız DER formatındaysa (ikili), -inform der bayrağını ekleyin:
openssl x509 -in certificate.der -inform der -text -noout
openssl s_client ile Uzak Bir Sunucunun Sertifikasını Kontrol Etme
Sertifika dosyası her zaman yerel makinenizde bulunmayabilir. Genellikle, canlı bir sunucuya kurulu olan sertifikayı incelemeniz gerekir. İşte bu noktada openssl s_client devreye girer.
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
Bu komut, sunucuya port 443 üzerinden (varsayılan HTTPS portu) bir TLS bağlantısı açar ve sertifika zincirini, protokol sürümünü, şifreleme paketini ve oturum detaylarını görüntüler.
-servername bayrağı, sunucunun aynı IP adresinde birden fazla alan adını barındırdığı durumlarda gerekli olan Server Name Indication (SNI) özelliğini etkinleştirir. Bu olmadan, yanlış sertifikayı alabilirsiniz.
Çıktıyı görüntüledikten sonra bağlantıyı kapatmak için CTRL+C tuşlarına basın.
Elinizin altında bir terminal yok mu, ya da daha hızlı bir bakış mı istiyorsunuz? SSL Checker aracımız OpenSSL olmadan bir sertifikayı kontrol etmenize olanak tanır. Alan adını yapıştırın ve tarayıcınızda zincir, son kullanma tarihi ve şifreleme detaylarını alın.
Daha Temiz Çıktı İçin Pipe Kullanma
Ham s_client çıktısı ayrıntılıdır. Yalnızca sertifika detaylarını çıkarmak için, bunu openssl x509‘a yönlendirin (pipe):
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -text
Başlangıçtaki echo | boş bir girdi gönderir, böylece bağlantı otomatik olarak kapanır. 2>/dev/null hata mesajlarını bastırarak size temiz bir çıktı sağlar.
Bunu belirli alanlara da daraltabilirsiniz:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates
Bu tek satırlık komut, sistem yöneticileri için pratik bir favoridir. Tek bir işlemde veren, konu ve geçerlilik tarihlerini gösterir.
Sertifikayı Yerel Olarak Kaydetme
Uzak sertifikayı daha fazla analiz için bir dosyaya kaydetmek istiyorsanız:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 > yourdomain.pem
Artık kaydedilen dosyaya karşı herhangi bir openssl x509 komutunu çalıştırabilirsiniz.
Sertifika Son Kullanma Tarihlerini Doğrulama
Süresi dolmuş sertifikalar, SSL hatalarının en yaygın nedenlerinden biridir. OpenSSL, son kullanma tarihini kontrol etmek için size çeşitli yollar sunar.
Hızlı Tarih Kontrolü
openssl x509 -in certificate.crt -noout -dates
Bu, hem “Not Before” (başlangıç tarihi) hem de “Not After” (bitiş tarihi) çıktısını verir. Yalnızca son kullanma tarihine ihtiyacınız varsa:
openssl x509 -in certificate.crt -noout -enddate
Uzak Sunucular İçin
Canlı bir sunucunun sertifikasının son kullanma tarihini kontrol etmek için s_client ve x509‘u birleştirin:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate
-checkend ile Son Kullanma Uyarılarını Otomatikleştirme
-checkend bayrağı, çoğu kılavuzun gözden kaçırdığı bir şeydir, ancak otomasyon için inanılmaz derecede kullanışlıdır. Sertifikanın belirtilen saniye sayısı içinde sona erip ermeyeceğini kontrol eder ve bir çıkış kodu döndürür:
openssl x509 -in certificate.crt -noout -checkend 2592000
2592000 değeri saniye cinsinden 30 güne eşittir. Sertifika 30 gün içinde sona eriyorsa, komut sıfır olmayan bir çıkış kodu döndürür ve bir uyarı yazdırır. Sertifika bu süreyi aşan bir süre için hâlâ geçerliyse, sıfır döndürür.
Bu, cron işlerine, izleme betiklerine veya CI/CD ardışık düzenlerine entegre etmeyi kolaylaştırır:
if ! openssl x509 -in certificate.crt -noout -checkend 2592000 > /dev/null 2>&1; then
echo "WARNING: Certificate expires within 30 days!"
fi
Bunun neden önemli olduğu: CA/Browser Forum’un 2029’a kadar 47 günlük sertifika ömürlerine doğru ilerlemesiyle, otomatik son kullanma izlemesi artık isteğe bağlı değil, bir zorunluluk haline geliyor. Bu kontrolleri şimdiden altyapınıza entegre etmek, ilerideki kesintilerden sizi kurtaracaktır.
openssl verify ile Sertifika Zincirini Doğrulama
Bir sertifika tek başına çalışmaz. Tarayıcılar ve istemciler, sunucu sertifikanızla başlayan, bir veya daha fazla ara CA sertifikasından geçen ve güvenilir bir kök CA sertifikasında sona eren bir dizi olan tüm sertifika zincirini doğrular.
Zincir bozuksa veya eksikse, sertifikanın kendisi geçerli olsa bile ziyaretçiler “güvenilmiyor” hatası görür.
Bir sertifikayı sistemin güvenilir CA deposuna karşı doğrulamak için:
openssl verify certificate.crt
Eğer certificate.crt: OK çıktısını veriyorsa, zincir eksiksiz ve geçerlidir.
Ara Sertifikalar Ayrı Olduğunda
Ara CA sertifikanız ayrı bir dosyadaysa (DigiCert dahil birçok CA sağlayıcısında yaygındır), -untrusted bayrağını kullanın:
openssl verify -untrusted intermediate.crt certificate.crt
-untrusted bayrağı, OpenSSL’e sağlanan ara sertifikayı, güven deposuna kalıcı olarak eklemeden zincir oluşturma sırasında kullanmasını söyler.
Uzak Bir Sunucudan Tam Zinciri Görüntüleme
Canlı bir sunucudaki zincirdeki her sertifikayı görmek için:
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -showcerts
-showcerts bayrağı, zincirdeki her sertifikayı PEM formatında çıktı olarak verir. Bu, eksik ara sertifikalar veya yanlış sıralama gibi zincir sorunlarını teşhis etmek için başvurulacak komuttur.
Görsel, tek tıklamalı bir kontrol mü tercih edersiniz? SSL Checker aracımız herhangi bir alan adı için sertifika zincirini doğrular ve eksik ara sertifikaları otomatik olarak işaretler.
Özel Anahtarınızın Sertifikanızla Eşleştiğini Onaylama
Bir sertifikayı kurduktan sonra, en yaygın hatalardan biri özel anahtar uyuşmazlığıdır. Özel anahtar sertifikanın genel anahtarına karşılık gelmiyorsa, web sunucusu başlamayacaktır (veya bozuk bir bağlantı sunacaktır).
Eşleşmeyi doğrulama şekli şöyledir. Her iki komut da modülü, yani paylaşılan bir matematiksel değeri çıkarır ve onu hashler:
openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in privatekey.key | openssl md5
MD5 hash değerleri aynıysa, özel anahtar ve sertifika geçerli bir çifttir. Farklıysa, bir sorun var demektir. Yanlış anahtara sahip olabilirsiniz veya sertifika yeni bir anahtar çiftiyle yeniden verilmiş olabilir.
Bu kontrolü CSR‘nizi (Certificate Signing Request) de içerecek şekilde genişletebilirsiniz:
openssl req -noout -modulus -in request.csr | openssl md5
Modül kontrolü, üç dosyanın birbirine ait olup olmadığını söyler, ancak CSR’nin gerçekte ne talep ettiğini göstermez. Kendi alanlarını okumak için openssl req -in yourCSR.csr -noout -text komutunu çalıştırın veya talebi CSR çözücümüze yapıştırın.
Üçü de: sertifika, özel anahtar ve CSR aynı hash değerini döndürmelidir.
OpenSSL’in kolayca erişilebildiği bir makinede değil misiniz? Certificate Key Matcher aracımız, aynı karşılaştırmayı tarayıcınızda yapar ve modül kontrolünün başarısız olduğu ECDSA anahtarları için de çalışır.
Sertifika Formatları Arasında Dönüştürme
Farklı sunucular ve platformlar farklı sertifika formatları gerektirir. Apache ve Nginx PEM kullanırken, Windows IIS ve Tomcat genellikle PKCS#12 (.pfx) gerektirir. İşte en yaygın dönüştürmeler:
DER’den PEM’e:
openssl x509 -inform der -in certificate.der -out certificate.pem
PEM’den DER’e:
openssl x509 -outform der -in certificate.pem -out certificate.der
PEM’den PKCS#12’ye (.pfx):
openssl pkcs12 -export -out certificate.pfx -inkey privatekey.key -in certificate.crt -certfile ca-bundle.crt
PKCS#12’den PEM’e:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
-nodes bayrağı, özel anahtarı parola şifrelemesi olmadan dışa aktarır. Parola korumalı bir çıktı istiyorsanız bunu kaldırın.
Bilmekte fayda var: .crt, .cer ve .pem uzantılı sertifika dosyalarının hepsi PEM formatında olabilir. Uzantı tek başına kodlamayı belirtmez, dosya içeriğini kontrol edin. —–BEGIN ile başlıyorsa PEM’dir. İkili anlaşılmaz veri ise DER’dir.
OpenSSL’in bulunmadığı bir makinede tek seferlik bir dönüştürme için, SSL Converter aracı tarayıcıda PEM, DER, PFX ve P7B formatlarını işler ve bir PFX’i sertifika, zincir ve anahtara böler.
Yaygın Sertifika Hatalarını Giderme
Bir şeyler ters gittiğinde, OpenSSL’in çıktısı genellikle sorunun nerede olduğunu size söyler. İşte en sık karşılaşılan sorunlar için hızlı bir referans:
“unable to get local issuer certificate”. Sertifika zinciri eksik. Ara sertifika, sunucu yapılandırmanızdan eksik. Sertifika sağlayıcınızdan doğru CA paketini alın ve sunucu sertifikanızla birlikte yapılandırın.
“certificate has expired”. Tam olarak kulağa geldiği gibi. Sertifikanın “Not After” tarihi geçmiş. Hemen yenileyin ve değiştirin.
“certificate signature failure”. Sertifika, imzalandıktan sonra değiştirilmiş veya bozulmuş. CA sağlayıcınızdan yeniden indirin veya yeniden verin.
“key values mismatch”. Özel anahtar ve sertifika birbirine karşılık gelmiyor. Onaylamak için yukarıdaki bölümden modül karşılaştırmasını çalıştırın, ardından doğru anahtarı bulun veya yeni bir CSR oluşturun.
“self-signed certificate”. OpenSSL, sertifikayı güvenilir bir kök CA’ya kadar izleyemiyor. Bu, geliştirmede kullanılan kendinden imzalı sertifikalar için beklenen bir durumdur. Üretim ortamı için, herkese açık olarak güvenilen bir Sertifika Otoritesi tarafından verilmiş bir sertifikaya sahip olduğunuzdan emin olun.
“hostname mismatch”. Bağlandığınız alan adı, sertifikada listelenen Common Name (CN) veya Subject Alternative Name (SAN) ile eşleşmiyor. SAN’ları şu şekilde kontrol edin:
openssl x509 -in certificate.crt -noout -ext subjectAltName
Sertifikalarınızı Kontrol Altında Tutun
OpenSSL ile sertifikaları kontrol etmek, sertifika yaşam döngüsü boyunca tekrar tekrar yapacağınız bir şeydir: kurulum sırasında, yenileme sonrasında ve bir şeyler bozulduğunda. Bu komutlar, sorunları teşhis etmenin ve her şeyin doğru yapılandırıldığını doğrulamanın en hızlı yoludur.
Terminal açmadan hızlı bir sağlık kontrolü için, alan adını SSL Checker aracımızdan geçirin ve saniyeler içinde SSL güvenlik derecelendirmesini ile tam sertifika, zincir ve şifreleme dökümünü alın.
Ancak manuel kontroller yalnızca belirli bir ölçekte işe yarar. Farklı sunucularda birden fazla sertifika yönetiyorsanız, özellikle sertifika ömürleri kısalmaya devam ettikçe ve hata payı azaldıkça, güvenilir bir sertifika yönetim sürecine ihtiyacınız vardır.
Güvenilir SSL sertifikalarına mı ihtiyacınız var? SSL Dragon, DigiCert, Sectigo ve Thawte gibi önde gelen Sertifika Otoritelerinden rekabetçi fiyatlandırma, hızlı verilme ve özel destek ile geniş bir SSL/TLS sertifikası yelpazesi sunar. İster tek alan adlı bir sertifikaya ister kurumsal düzeyde çoklu alan adı çözümüne ihtiyacınız olsun, doğru seçeneği bulacaksınız.
Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!
Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10






