Çapraz imzalı (cross-signed) sertifika, aynı ara veya kök CA'nın birden fazla kök tarafından imzalanmasıdır. Yeni bir kök CA henüz eski cihazların güven deposunda yoksa, CA bu yeni kökü eski ve yaygın bir kökle çapraz imzalatarak eski cihazlarla uyumluluğu sağlar. Sorunlar ise sunulan zincirin farklı istemcilerde farklı yollarla doğrulanabilmesinden doğar.
Nasıl çalışır?
- Aynı ara sertifika iki farklı kök yoluyla doğrulanabilir: kendi yeni köküyle ve çapraz imza yoluyla eski kökle.
- İstemci, güven deposunda bulduğu ilk geçerli yolu seçer; bu yüzden yeni cihazlar kısa yolu, eski cihazlar uzun yolu kullanabilir.
- Eski kökün süresi dolduğunda çapraz imzayı kullanan istemciler hata verebilir.
Bu durumun bilinen bir örneği, bir CA'nın yeni köküne çapraz imza veren eski kökün 2021'de süresinin dolmasıydı; eski Android ve bazı gömülü sistemler zinciri doğrulamakta zorlandı. Buradaki ders, eski cihaz uyumluluğunun zincir tasarımına bağlı olduğudur.
Teşhis
openssl s_client -connect alanadi.com:443 -servername alanadi.com -showcerts
openssl verify -trusted_first -CAfile kok.crt -untrusted ara.crt sunucu.crt
Sunucunun gönderdiği zincirde çapraz imzalı bir ara sertifikanın bulunup bulunmadığına bakın. OpenSSL 1.1.0 ve üzeri varsayılan olarak güvenilen kökü önceliklendirir; eski istemcilerde davranış farklı olabilir.
Çözüm
- CA'nızın yayımladığı güncel zincir önerisini indirip kullanın; hangi paketin hangi istemci gruplarına uygun olduğu CA belgelerinde belirtilir.
- Eski cihazlara hizmet veriyorsanız, bunların zinciri doğrulayıp doğrulayamadığını gerçek cihaz veya emülatörle test edin.
- Eski cihaz desteği gerekmiyorsa, doğrudan yeni kökten ilerleyen daha kısa zinciri tercih edin.
- Zincir güncellemesinden sonra sunucuyu yeniden yükleyin.
Sonucu SSL kontrol aracıyla gözden geçirebilir, zincir kurulumunda takılırsanız Türkçe teknik desteğe yazabilirsiniz.