X.509 sertifikalarında Key Usage uzantısı, sertifikanın anahtarının hangi işlemler için kullanılabileceğini belirler. Sertifika, amacına uygun olmayan bir işlemde kullanılırsa doğrulama reddedilir; OpenSSL'de bu genellikle unsuitable certificate purpose (hata 26) veya key usage does not include digital signature olarak görünür.
Web sunucusu sertifikası için beklenen değerler
- RSA anahtarlı TLS sertifikası:
Digital SignatureveKey Enciphermentbekleniyor. - ECDSA anahtarlı TLS sertifikası:
Digital Signatureyeterlidir; şifreleme anahtar değişimi gerekmez. - CA (ara veya kök) sertifikası:
Certificate SignveCRL Signgereklidir.
Nasıl kontrol edilir?
openssl x509 -in sertifika.crt -noout -ext keyUsage,extendedKeyUsage
Çıktıda sertifikanızın izinleri listelenir. Web sunucusu için burada TLS Web Server Authentication (Extended Key Usage) de bulunmalıdır.
Sık karşılaşılan durumlar
- Kod imzalama, e-posta (S/MIME) veya istemci sertifikası TLS sunucusunda kullanılmaya çalışılıyor.
- Kurum içi CA şablonunda yanlış bir sertifika şablonu (template) seçilmiş.
- Kendi imzalı sertifika üretirken uzantılar eksik bırakılmış.
- Bir kurumsal uygulama, sertifikanın farklı bir amaçla (örneğin imzalama) kullanılmasını bekliyor.
Çözüm adımları
- Hatanın hangi sertifikadan kaynaklandığını belirleyin: sunucu sertifikası mı, ara sertifika mı?
- Uygun kullanım alanına sahip doğru sertifika türünü edinin. Web siteleri için SSL sertifikaları, yazılım imzalama için kod imzalama sertifikaları ayrı ürünlerdir.
- Kurum içi CA kullanıyorsanız doğru şablonla yeni bir sertifika düzenleyin.
- Yeni sertifikayı kurun ve SSL kontrol aracıyla doğrulayın.
Sonuç
Key Usage uyuşmazlığı çoğunlukla yanlış türde bir sertifikanın kullanılmasından çıkar. Sertifikayı değiştirmek, sonradan uzantı düzenlemeye çalışmaktan çok daha güvenli bir çözümdür; çünkü uzantılar CA imzasıyla korunur.