Certificate chain nedir?
Kısa cevap
Certificate chain (chain of trust), sunucu sertifikasından onu imzalayan intermediate CA sertifikasına, oradan root CA sertifikasına uzanan imza halkalarıdır. İstemcinin trust store'unda yalnızca root CA'lar bulunduğu için sunucu kendi sertifikasıyla birlikte intermediate sertifikaları da göndermelidir; intermediate sertifika eksikse birçok istemci, özellikle API istemcileri ve mobil uygulamalar, sertifikaya güvenmez. TR7'de chain sertifika kaydının Intermediate Cert. Content ve Root Cert. Content alanlarıyla kurulur ve önizlemedeki Chain sekmesinde her halkanın imzası doğrulanarak gösterilir.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| Certificates & PKI → SSL/TLS Certificates → Manual ya da PFX | Intermediate Cert. Content, Root Cert. Content: Disabled, Without Profile, Use Profiles | Chain'i sertifika kaydına ekleme: Without Profile ile içerik yapıştırılır, Use Profiles ile CA kaydı seçilir |
| SSL/TLS Certificates → önizleme → Chain | Trust chain is complete, Missing intermediate certificate — required issuer; halka rolleri Root CA, Intermediate CA, Certificate | Chain'in durumunu ve her halkayı görme |
| Chain sekmesi | Suggest Completion, Also try downloading from the issuer's address (AIA), Add to this certificate's chain | Eksik halkayı diğer kayıtlardan, CA kayıtlarından ya da AIA adresinden bulup ekleme; yalnızca Manual ve PFX kayıtlarda uygulanır |
| Certificates & PKI → Certificate Authorities (CA) | Add a trusted CA certificate | Intermediate ya da root CA'yı birden çok sertifikanın kullanacağı tek kayıt olarak tutma (Use Profiles) |
ACME.SH ve Internal CA türündeki sertifikaların chain'ini TR7 kendisi yönetir; PFX dosyasındaki chain dosyadan alınır.
Nasıl Çalışır?
- Sunucu handshake'te kendi sertifikasını ve intermediate sertifikaları gönderir.
- İstemci her sertifikanın issuer'ını bir üst halkanın subject'iyle eşleştirir ve imzayı o halkanın public key'iyle doğrular (RFC 5280).
- Chain istemcinin trust store'undaki bir root CA'ya ulaşırsa sertifikaya güvenilir; ulaşamazsa bağlantı "güvenilmeyen sertifika" hatasıyla sonuçlanır.
TR7'nin Chain sekmesi chain kayıttaki bir root CA'ya ulaştığında Trust chain is complete gösterir; aksi hâlde son halkanın imzalayanını Missing intermediate certificate — required issuer iletisinde yazar. Eksik görünen halka root CA ise sertifika istemcilere yine tam chain ile sunulur; root, istemcinin trust store'undan gelir.
Sık Karıştırılan Noktalar
- "Tarayıcıda açılıyorsa chain tamdır." Tarayıcılar eksik intermediate sertifikayı önbellekten ya da AIA adresinden tamamlayabilir; curl, API istemcileri ve mobil uygulamalar bağlantıyı reddedebilir (Sertifika zincirinin eksik olduğunu nasıl anlarım?).
- "Root sertifika chain'e mutlaka eklenmelidir." İstemci root'u zaten trust store'unda taşır; kritik olan intermediate sertifikalardır.
- "Chain değişince sertifikayı kullanan vService'ler tek tek güncellenir." Chain sertifika kaydının parçasıdır; kayıt güncellenince onu kullanan bütün vService'ler yeni chain'i sunar.
Dokümantasyonda nasıl yapılır
