diff options
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/util/ProxyConfigurator.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ProxyConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ProxyConfigurator.java index a6dede1c..035d310b 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ProxyConfigurator.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ProxyConfigurator.java @@ -7,6 +7,8 @@ import java.net.Socket; import java.text.MessageFormat; import java.util.concurrent.atomic.AtomicReference; +import javax.net.ssl.SSLContext; + import org.apache.hc.client5.http.HttpRoute; import org.apache.hc.client5.http.classic.methods.HttpGet; import org.apache.hc.client5.http.config.ConnectionConfig; @@ -57,11 +59,25 @@ public class ProxyConfigurator { private static AtomicReference<CloseableHttpClient> apacheClient = new AtomicReference<>(); - private static final TLS[] SUPPORTED_TLS_VERSIONS = { TLS.V_1_3, TLS.V_1_2, TLS.V_1_1 }; + private static final TLS[] SUPPORTED_TLS_VERSIONS; private static final Timeout TIMEOUT_CONNECT = Timeout.ofSeconds(8); private static final Timeout TIMEOUT_SOCKET = Timeout.ofSeconds(8); private static final Timeout TIMEOUT_REQUEST = Timeout.ofSeconds(3); + + static { + boolean ok = false; + try { + SSLContext.getInstance("TLSv1.3"); + ok = true; + } catch (Exception e) { + } + if (ok) { + SUPPORTED_TLS_VERSIONS = new TLS[] { TLS.V_1_3, TLS.V_1_2, TLS.V_1_1 }; + } else { + SUPPORTED_TLS_VERSIONS = new TLS[] { TLS.V_1_2, TLS.V_1_1 }; + } + } /** * Initialization method. |