Sertifika zinciri; sunucu sertifikanızı, onu imzalayan ara (intermediate) sertifikaları ve güvenilen kök sertifikaya giden yolu ifade eder. Zincir eksik sunulursa masaüstü tarayıcılar çoğu zaman eksik halkayı kendi tamamlar; ancak cURL, Java, mobil uygulamalar ve bazı API istemcileri "unable to get local issuer certificate" türü hatalar verir.
Doğru sıra
- Sunucu (leaf) sertifikası
- Ara sertifika(lar), imzalayan sırayla
- Kök sertifika genellikle dahil edilmez; istemcilerde zaten bulunur.
Zinciri oluşturma
CA'nın gönderdiği dosyaları doğru sırada birleştirin:
cat example.com.crt intermediate.crt > fullchain.pem
Sunucuya göre kullanım farklıdır:
- Nginx:
ssl_certificateyönergesine fullchain dosyası verilir. - Apache 2.4.8 ve sonrası: Zincir
SSLCertificateFiledosyasına eklenebilir; eskiSSLCertificateChainFilekullanımı kaldırılmıştır. - IIS: Ara sertifika, "Intermediate Certification Authorities" deposuna yüklenir.
Zinciri doğrulama
openssl s_client -connect example.com:443 -servername example.com -showcerts
openssl verify -untrusted intermediate.crt example.com.crt
İlk komutun çıktısında Certificate chain bölümünde 0 numaralı girdi sunucu sertifikanız, 1 ve sonrası ara sertifikalar olmalıdır. "Verify return code: 0 (ok)" sonucu beklenir.
Sık sorunlar
- Yanlış sıra: Ara sertifika sunucu sertifikasının önüne konmuşsa bazı istemciler reddeder.
- Yanlış ara sertifika: Sertifikanızı imzalayan ara sertifika ürün ve CA'ya göre değişir; teslim edilen paketteki dosyayı kullanın.
- Dosya sonu satırı: Birleştirirken bir dosyanın sonunda satır sonu yoksa iki blok yapışır.
Kalıcı çözüm için ipuçları
Zinciri her yenilemede yeniden oluşturun; eski ara sertifikayı yeni sertifikayla kullanmak hataya yol açar. Yapılandırma yönetim araçlarında (Ansible vb.) fullchain dosyasını sürüm kontrolüne alın ve dağıtımdan sonra otomatik bir openssl s_client kontrolü çalıştırın. Kurumsal ağlarda TLS denetimi yapan proxy'ler zinciri değiştirebileceğinden, sorunu ağ dışından da test edin.
Hızlı kontrol için SSL kontrol aracını kullanabilir, hata devam ederse SSL sorun giderici sayfasına bakabilirsiniz.