Sertifika zincirinin eksik olduğunu nasıl anlarım?
Kısa cevap
TR7'de sertifikanın önizlemesindeki Chain sekmesi zincirin tam olup olmadığını ve eksik halkanın hangi CA olduğunu gösterir: Trust chain is complete ya da Missing intermediate certificate — required issuer. Dışarıdan openssl s_client -showcerts ile sunucunun kaç sertifika gönderdiğine bakılır; yalnızca tek sertifika dönüyor ve Verify return code: 21 görünüyorsa zincir eksiktir. İnternete açık sitelerde SSL Labs'in Chain Issues satırı da aynı bilgiyi verir. Tipik belirti, masaüstü tarayıcıda açılan sitenin mobil uygulamada ya da curl'de hata vermesidir.
Sorun: Site Bazı İstemcilerde Güvenilmez Görünüyor
Eksik zincir, sorunun yalnızca bazı istemcilerde görülmesine yol açtığı için gözden kaçar: masaüstü tarayıcılar ara sertifikayı önbellekten ya da sertifikadaki imzalayan adresinden (AIA) tamamlayabilir; mobil uygulamalar, Java ve komut satırı istemcileri ise tamamlamaz. Zincirin gerçekten eksik olup olmadığı sunucunun gönderdiği sertifikalara bakılarak anlaşılır.
Çözüm: Üç Yöntem
Yöntemler aynı soruyu farklı yerlerden cevaplar; TR7'deki kaydı Yöntem 1, istemcinin aldığını Yöntem 2 ve 3 gösterir.
| Durumunuz | Uygun yöntem |
|---|---|
| TR7'deki sertifika kaydını kontrol etmek | Yöntem 1: Chain sekmesi |
| Sunucunun el sıkışmada gerçekten ne gönderdiğini görmek | Yöntem 2: openssl s_client |
| İnternete açık sitede kapsamlı rapor | Yöntem 3: SSL Labs |
Yöntem 1: Chain Sekmesi Önerilen
- Nasıl çalışır TR7, sertifikayı ve yapılandırmada kullanılacak ara ve kök sertifikaları alıp her halkanın bir sonrakini gerçekten imzaladığını doğrulayarak zinciri kurar; eksik halkanın gerektirdiği CA'yı adıyla gösterir.
- Nerede açılırCertificates & PKI → SSL/TLS Certificates → sertifika satırı → önizleme → Chain
- Gereksinim Sertifika içeriği bulunan bir kayıt
- Kapsam Bütün sertifika türleri
Adım adım yapılandırma
Certificates & PKI → SSL/TLS Certificates ekranı açılır.
Sertifika satırına tıklanır; sağda açılan önizlemede Chain sekmesi seçilir.
Yeşil Trust chain is complete zincirin kök CA'ya kadar doğrulandığını gösterir. Turuncu Missing intermediate certificate — required issuer eksik halkanın gerektirdiği imzalayanı adıyla yazar; adı geçen imzalayan bir kök CA ise yalnızca kök sertifika kayıtta yoktur, istemciler kökü kendi güven deposundan aldığı için sunulması gerekmez. Halkalardaki Expired ve Signature Invalid rozetleri ile Provided but not part of the chain başlığı altındaki fazla sertifikalar da kontrol edilir.
Doğrulama
Chain sekmesinin üstündeki durum ve halka kartları (Root CA, Intermediate CA, Certificate) okunur.
Trust chain is completeYöntem 2: openssl s_client
- Nasıl çalışır vService'in TLS el sıkışmasında gönderdiği bütün sertifikalar sırasıyla listelenir ve istemcinin güven deposuna göre doğrulanır.
- Nerede açılır İstemci bilgisayarda komut satırı
- Gereksinim
openssl; vService adresine erişim - vService tipi HTTP, L7 TCP (şifreli frontend)
Adım adım yapılandırma
-servername ile sitenin alan adı verilir; verilmezse vService'in listedeki ilk sertifikası gelir, vService Virtual Hosting kullanıyorsa bağlantı kapatılır:
openssl s_client -connect 203.0.113.10:443 -servername www.example.com -showcerts </dev/nullCertificate chain bölümündeki -----BEGIN CERTIFICATE----- blokları sayılır ve en alttaki Verify return code okunur. Yalnızca bir blok varsa ve Verify return code: 21 (unable to verify the first certificate) yazıyorsa ara sertifika gönderilmiyordur.
Doğrulama
Zincir tamamlandıktan sonra komut yeniden çalıştırılır.
Sertifika + ara sertifika(lar) · Verify return code: 0 (ok)Yöntem 3: SSL Labs
- Nasıl çalışır SSL Labs sunucu testi siteye internetten bağlanır ve zinciri ayrıntılı değerlendirir.
- Nerede açılırssllabs.com/ssltest
- Gereksinim Sitenin internetten 443 portuyla erişilebilir olması
- vService tipi HTTP
Adım adım yapılandırma
SSL Labs sunucu testine alan adı yazılıp test başlatılır.
Rapordaki Certification Paths bölümü ve Chain Issues satırı okunur; Incomplete ya da Extra Download zincirin eksik olduğunu gösterir.
Doğrulama
Zincir tamamlandıktan sonra test önbelleği temizlenerek (Clear cache) yeniden çalıştırılır.
Chain issues: NoneSık Yapılan Hatalar
- Masaüstü tarayıcıda açıldığı için zinciri tam sanmak. Tarayıcılar eksik halkayı kendileri tamamlayabilir; mobil uygulamalar ve komut satırı istemcileri tamamlamaz.
-servernameolmadan test etmek. SNI verilmezse vService'in ilk sertifikası gelir ve yanlış sertifikanın zinciri incelenmiş olur; Virtual Hosting'de ise bağlantı kapatılır.- Eksikliği bulup bırakmak. Zincir, Chain sekmesindeki Suggest Completion ile ya da ara sertifika eklenerek tamamlanır (Intermediate certificate chain'i nasıl eklerim?).
- Kök CA uyarısını eksik ara sertifika sanmak. Chain sekmesindeki eksik imzalayan bir kök CA ise istemci tarafında sorun oluşmaz;
openssl s_clientçıktısındaVerify return code: 0görünür.
Dokümantasyonda nasıl yapılır
