error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate hatası, el sıkışma sırasında gönderilen sertifikanın karşı taraf tarafından geçersiz sayıldığını belirtir. Hata tek başına "zincir eksik" demez; sertifikanın kendisi bozuk, süresi dolmuş veya uygun olmayabilir.
Sık sebepler
- Sertifikanın geçerlilik süresi dolmuş ya da henüz başlamamış (sunucu saati yanlış).
- Sertifika dosyası yarım kopyalanmış ya da imzası bozulmuş.
- Karşı taraf istemci sertifikası (mTLS) istiyor ve gönderdiğiniz istemci sertifikası geçersiz veya yetkili değil.
- Sertifika iptal edilmiş (revoked) ve istemci iptal kontrolü yapıyor.
- Sertifika anahtar kullanımı uygun değil (ör. istemci kimlik doğrulaması için üretilmemiş).
Teşhis
- Tarih ve konu bilgilerine bakın:
openssl x509 -in sertifika.crt -noout -subject -issuer -dates - Sistem saatini doğrulayın:
date -u; saat yanlışsa NTP ile düzeltin. - Kendi zincirinizi sınayın:
openssl verify -CAfile kok-ve-ara.pem sertifika.crt - mTLS kullanıyorsanız istemci sertifikası ile birlikte anahtarı gönderin ve sertifikanın amacını kontrol edin:
openssl x509 -in istemci.crt -noout -ext extendedKeyUsage openssl s_client -connect alanadi.com:443 -cert istemci.crt -key istemci.key - Sunucu logunda sebep satırını arayın; OpenSSL genellikle bir önceki satırda gerçek doğrulama hatasını yazar.
Çözüm ve önleme
Süresi dolmuşsa sertifikayı yenileyin; bozuk dosya için CA'dan yeniden indirin. Süre takibi için sertifikayı periyodik denetleyin: SSL denetleme aracı bitiş tarihini ve zinciri gösterir. Yenileme veya yeni temin için SSL sertifikaları sayfası, diğer hatalar için bilgi bankası yardımcı olur.
Ek ipuçları
Sertifikayı aldığınız sağlayıcının verdiği dosyaların sırası da önemlidir: sunucu sertifikası, ardından ara sertifika. Kök sertifikayı zincire eklemek zorunlu değildir, ancak yanlış sırada birleştirilmiş zincir bazı istemcilerde bad certificate uyarısına yol açabilir.