Bir CA sertifikasının basicConstraints uzantısındaki pathlen değeri, o sertifikanın altında en fazla kaç ara CA bulunabileceğini sınırlar. Zincir bu sınırı aşarsa OpenSSL path length constraint exceeded (hata 25) hatası verir. Kamuya açık CA zincirlerinde nadir görülür; daha çok kurum içi (private) PKI kurulumlarında karşınıza çıkar.
pathlen nasıl çalışır?
pathlen:0olan bir ara CA yalnızca son kullanıcı (leaf) sertifikası imzalayabilir, yeni bir ara CA oluşturamaz.pathlen:1, altında bir seviye daha ara CA'ya izin verir.- Değer hiç belirtilmemişse sınır yoktur.
CA:FALSEolan bir sertifika hiçbir sertifikayı imzalayamaz.
Teşhis
openssl x509 -in ara.crt -noout -ext basicConstraints
Örnek çıktı: CA:TRUE, pathlen:0. Ardından zincirin tamamını doğrulayın:
openssl verify -CAfile kok.crt -untrusted ara1.crt -untrusted ara2.crt sunucu.crt
Hata hangi sertifikada oluştuğunu depth değeriyle belirtir; bu sayede kısıtı koyan CA'yı bulursunuz.
Çözüm
- Zincir tasarımını gözden geçirin: gereğinden fazla kademe eklemiş olabilirsiniz.
- Bir üst CA'nın
pathlendeğerini, gerçekten ihtiyaç varsa artırıp ara CA'yı yeniden oluşturun. Mevcut sertifikanın uzantısı sonradan değiştirilemez; yeniden imzalatmanız gerekir. - Kamuya açık CA'dan alınmış bir sertifikada sorun görüyorsanız, doğru ve güncel ara sertifika paketini kullandığınızdan emin olun.
- Son olarak tüm zinciri sunucuya kurup test edin.
Önleme
Özel PKI'da kök, ara ve leaf katmanlarını önceden planlayın; kökü çevrimdışı tutun. Kamuya açık web sitesi için bu tür karmaşıklığa girmeden hazır bir SSL sertifikası almak genellikle daha pratiktir. Kurulum sonrası SSL kontrol aracı zinciri gösterir.