"Sertifika ve özel anahtar eşleşmiyor" hatası: Anahtar Eşleştirici ile nasıl çözülür?
SSL sertifikanızı sunucuya yükledikten sonra "sertifika ve özel anahtar eşleşmiyor" uyarısıyla karşılaştıysanız yalnız değilsiniz. Bu, SSL kurulumundaki en yaygın hatalardan biridir ve neyse ki çözmesi de oldukça kolaydır. Bu yazıda hatanın neden ortaya çıktığını, bir anahtar eşleştirici (certificate key matcher) ile nasıl teşhis edileceğini ve adım adım nasıl çözüleceğini anlatıyoruz.
Bu hata tam olarak ne anlama geliyor?
Her SSL sertifikası, oluşturulurken belirli bir özel anahtarla (private key) matematiksel olarak eşleşir. Sertifika ile anahtar bir çift gibidir: sertifikanın içindeki açık anahtarın modulus değeri, özel anahtardaki ile birebir aynı olmak zorundadır. Sunucuya yüklediğiniz sertifika başka bir anahtarla üretildiyse, sunucu bağlantıyı reddeder ve hata verir.
Sunucuya göre mesaj değişir:
- Apache: "SSLCertificateKeyFile ... does not match certificate" veya "key values mismatch".
- Nginx: "SSL_CTX_use_PrivateKey_file ... key values mismatch".
- cPanel / WHM: "The certificate and the private key do not match."
Bu hata neden oluşur?
Sebep neredeyse her zaman aynıdır: sertifika ile yüklediğiniz özel anahtar farklı çiftlere ait. En sık görülen senaryolar:
- Yeni bir CSR oluştururken yeni bir özel anahtar da üretildi, ama sunucuda hâlâ eski anahtar duruyor.
- Birden fazla domain veya birden fazla deneme için CSR üretildi ve dosyalar karıştı.
- Sertifika bir sunucuda üretilip başka bir sunucuya, oradaki yanlış anahtarla taşındı.
- Sertifika yeniden düzenlendi (reissue) ama eski anahtar dosyası güncellenmedi.
Anahtar Eşleştirici nasıl çalışır?
Bir anahtar eşleştirici, elinizdeki dosyaların gerçekten aynı çifte ait olup olmadığını saniyeler içinde söyler. Anahtar Eşleştirici aracımıza şu üç PEM dosyasından herhangi ikisini veya üçünü yapıştırabilirsiniz:
- Sertifika (
certificate.crt/fullchain.pem) - CSR (Sertifika İmzalama İsteği)
- Özel anahtar (
private.key)
Araç her dosyadan açık anahtarın modulus değerini çıkarır, bunların kriptografik özetini (fingerprint) hesaplar ve karşılaştırır. Özetler aynıysa dosyalar eşleşir; farklıysa farklı çiftlere aittirler.
Gizlilik en önemli noktadır: Bu işlemin tamamı tarayıcınızda çalışır. Özel anahtarınız asla tarayıcınızdan çıkmaz, hiçbir sunucuya yüklenmez. Özel anahtar gibi son derece hassas bir veriyi rastgele çevrimiçi araçlara yapıştırmak büyük bir güvenlik riskidir; bizim aracımızda bu risk yoktur.
openssl ile manuel kontrol
Komut satırını tercih edenler için aynı kontrolü openssl ile yapabilirsiniz. Her komutun ürettiği özet aynıysa dosyalar eşleşiyor demektir:
openssl x509 -noout -modulus -in certificate.crt | openssl md5 openssl rsa -noout -modulus -in private.key | openssl md5 openssl req -noout -modulus -in request.csr | openssl md5
Üç satırın çıktısı birbirinin aynıysa sertifika, anahtar ve CSR aynı çifte aittir. Anahtar Eşleştirici aracı tam olarak bu kontrolü, komut satırına gerek kalmadan görsel olarak yapar.
Hata nasıl çözülür?
- Doğru anahtarı bulun. Sunucunuzda veya yedeklerinizde birden fazla
.keydosyası varsa, sertifikanın eşleştiği anahtarı bulana kadar her birini eşleştiriciyle test edin. Eşleşen anahtarı sunucu yapılandırmasına yazın. - Eşleşen anahtar yoksa yeniden düzenleyin. Doğru özel anahtar kaybolduysa sertifika kullanılamaz hale gelir. Bu durumda yeni bir CSR ve yeni bir özel anahtar üretip sertifikayı sıfırdan almanız gerekir. Ücretsiz sertifika sihirbazımızla 90 günlük yeni bir Let's Encrypt sertifikasını dakikalar içinde alabilir, anahtar ve sertifikayı birlikte indirebilirsiniz.
- Yeni dosyaları doğrulayın. Kuruluma geçmeden önce yeni sertifika ve anahtarı tekrar eşleştiriciden geçirip eşleştiklerinden emin olun.
- Sunucuyu yeniden başlatın. Doğru dosyaları yapılandırdıktan sonra Apache/Nginx servisini yeniden yükleyin; hata kaybolacaktır.
Özet
"Sertifika ve özel anahtar eşleşmiyor" hatası, sunucuya yanlış veya eski bir anahtar yüklendiğinde ortaya çıkar. Çözüm, sertifikanın gerçekten hangi anahtarla eşleştiğini bulmaktır. Anahtar Eşleştirici aracımız bunu tarayıcınızdan hiç veri çıkmadan, gizliliğinizi koruyarak saniyeler içinde yapar. Eşleşen anahtar bulunamazsa yeni bir sertifika almak en temiz çözümdür.