Kapatılmış TLS Doğrulaması (ARCH4119)
Anahtar java.security.disabled-tls-validation · Önem error · Kategori security · CWE CWE-295
Tüm sertifikaları kabul eden bir TrustManager kullanmak TLS kimlik doğrulamasını tamamen devre dışı bırakır ve ortadaki adam (MITM) saldırılarını mümkün kılar. Varsayılan, doğrulama yapan trust store’u kullanın.
Hatalı
Bölüm başlığı “Hatalı”TrustManager[] trustAll = { new X509TrustManager() { public void checkServerTrusted(X509Certificate[] c, String a) {} // her şeyi kabul et public void checkClientTrusted(X509Certificate[] c, String a) {} public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }}};SSLContext ctx = SSLContext.getInstance("TLS");ctx.init(null, trustAll, new SecureRandom());SSLContext ctx = SSLContext.getInstance("TLS");ctx.init(null, null, new SecureRandom()); // varsayılan trust store doğrularHttpClient client = HttpClient.newBuilder().sslContext(ctx).build();Düzeltme
Bölüm başlığı “Düzeltme”Her sertifikayı kabul eden özel TrustManager’ı kaldırın; varsayılan, doğrulayan TLS yığınını kullanın.