TLS'te decrypt_error uyarısı, el sıkışma sırasında bir imza veya karma doğrulamasının başarısız olduğunu bildirir. Chrome bunu ERR_SSL_DECRYPT_ERROR_ALERT olarak gösterir. Uyarı karşı taraftan gelir; yani genellikle sunucu, istemcinin gönderdiği bir şeyi çözemediğinde veya doğrulayamadığında bu mesajı yollar.
Belirtiler
- Sayfa açılmaz, tarayıcı alert kodunu gösterir.
- Sunucu günlüğünde el sıkışma hatası veya imza doğrulama hatası görülür.
- Sorun sertifika ya da yapılandırma değişikliğinden hemen sonra başlar.
Olası nedenler
- Sertifika ile özel anahtar eşleşmiyor; sunucu yanlış anahtarla imza üretiyor.
- Kullanılan özel anahtar bozulmuş veya yeniden oluşturulmuş.
- Yük dengeleyici arkasındaki düğümlerde farklı sertifika/anahtar çiftleri var.
- TLS sonlandıran aracı cihaz (güvenlik duvarı, proxy) trafiği bozuyor.
- İstemci sertifikası kullanılıyorsa istemcinin imzası sunucuda doğrulanamıyor.
- Donanım güvenlik modülü veya anahtar deposuna erişimde hata var.
Adım adım çözüm
İlk kontrol, anahtar ile sertifikanın eşleşmesidir:
openssl x509 -noout -modulus -in sertifika.crt | openssl md5
openssl rsa -noout -modulus -in ozel.key | openssl md5
Karma değerleri farklıysa doğru anahtarı veya sertifikayı kurun. ECDSA anahtarlarda bunun yerine açık anahtarları karşılaştırın:
openssl x509 -in sertifika.crt -noout -pubkey | openssl md5
openssl pkey -in ozel.key -pubout | openssl md5
- Tüm yük dengeleyici düğümlerinde aynı sertifika ve anahtarı kullandığınızı doğrulayın.
- Yapılandırmayı test edip (
nginx -tveyaapachectl configtest) hizmeti yeniden yükleyin. - Doğrudan sunucuya bağlanarak aracı cihazın etkisini ayıklayın:
openssl s_client -connect sunucu-ip:443 -servername ornek.com - Aracı cihazlarda TLS denetimi ayarlarını gözden geçirin.
- Bir anahtar ile sertifikayı eşleştirmek mümkün değilse yeni CSR üretip sertifikayı yeniden düzenletin (CSR oluşturucu).
Önleme
- Anahtar ve sertifikayı birlikte ve isimlendirilmiş biçimde saklayın.
- Yenilemede yeni anahtar-sertifika çiftini birlikte dağıtın.
- Değişiklik sonrası SSL Checker ile test edin.
Özetle decrypt_error çoğunlukla anahtar-sertifika uyumsuzluğuna işaret eder; eşleşmeyi doğrulamak sorunun büyük kısmını çözer.