İçeriğe geç

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.

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ğrular
HttpClient client = HttpClient.newBuilder().sslContext(ctx).build();

Her sertifikayı kabul eden özel TrustManager’ı kaldırın; varsayılan, doğrulayan TLS yığınını kullanın.