Created
November 13, 2025 21:40
-
-
Save jcaddel/ed483101a74a8d129bca159d937d3e6d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import okhttp3.OkHttpClient; | |
| import javax.net.ssl.*; | |
| import java.util.function.Supplier; | |
| public class HttpClientSupplier implements Supplier<OkHttpClient> { | |
| public OkHttpClient get() { | |
| try { | |
| TrustManager[] managers = {new SimpleTrustManager()}; | |
| SSLContext sslContext = SSLContext.getInstance("SSL"); | |
| sslContext.init(null, managers, new java.security.SecureRandom()); | |
| SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory(); | |
| OkHttpClient.Builder builder = new OkHttpClient.Builder(); | |
| builder.sslSocketFactory(sslSocketFactory, (X509TrustManager) managers[0]); | |
| builder.hostnameVerifier(new SimpleHostnameVerifier()); | |
| return builder.build(); | |
| } catch (Exception e) { | |
| throw new IllegalStateException(e); | |
| } | |
| } | |
| private static final class SimpleHostnameVerifier implements HostnameVerifier { | |
| public boolean verify(String hostname, SSLSession session) { | |
| return true; | |
| } | |
| } | |
| private static final class SimpleTrustManager implements X509TrustManager { | |
| @Override | |
| public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) { | |
| } | |
| @Override | |
| public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) { | |
| } | |
| @Override | |
| public java.security.cert.X509Certificate[] getAcceptedIssuers() { | |
| return new java.security.cert.X509Certificate[]{}; | |
| } | |
| } | |
| } |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Code snippet that creates an
OkHttpClientthat trusts all SSL certificates. Exceedingly useful for testing scenarios and lower environments that have "fake" SSL certificates issued internally.