Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save aembleton/889392 to your computer and use it in GitHub Desktop.
Save aembleton/889392 to your computer and use it in GitHub Desktop.
The following code disables SSL certificate checking for any new instances of HttpsUrlConnection
/**
* Disables the SSL certificate checking for new instances of {@link HttpsURLConnection} This has been created to
* aid testing on a local box, not for use on production.
*/
private static void disableSSLCertificateChecking() {
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
// Not implemented
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
// Not implemented
}
} };
try {
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
@sitanshu-zymr
Copy link

Yes, It set to the HttpsURLConnection property. And It will effect in the context of the app.

@hunMyrte
Copy link

hunMyrte commented Jul 8, 2016

Thanks!
I added some lines and worked under android 6.
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { return true; } });
And It's very important that getAcceptedIssuers() has to return empty array instead of null.

@baiju-emedsim
Copy link

Thanks. Its work like a charm....!!!

@bferreirainfo
Copy link

bferreirainfo commented Nov 20, 2016

where doo put this code?i cant finde HttpURLConnection

@pandeyshivang
Copy link

how to use this code in httpurlconncetion?

@jackie-d
Copy link

How to re-enable it?

@ArabAgile
Copy link

What is the default ? disables SSL or not?

@seco35
Copy link

seco35 commented Sep 25, 2018

Is there anyone who had used that in react native and could give hints how to accomplish that?

@HEMANT8712
Copy link

I am working in react-native, how to incorporate this section of code and in which file as I am new to Java too.

@namnm
Copy link

namnm commented Mar 1, 2019

Still need this on react-native too! Any idea?

@Seeratabbaskhan
Copy link

Its not working fine

@MatheusCbrl
Copy link

witch document should I put this code?

@Mr-Ramzan
Copy link

Thanks a lot!

@kimberly96
Copy link

in which file should i paste that code?

@colmulhall
Copy link

Great, thanks!

@kaushikipandey
Copy link

Where to copy paste this code?

@kaushikipandey
Copy link

Great, thanks!

Where to copy paste this code??

@Omnomios
Copy link

Omnomios commented Feb 9, 2023

If you're here for NativeScript. You'll need to turn it into a Class, with the correct imports, then put the file in App_Resources/Android/src/main/

I have forked this Gist and ported it to be used in NativeScript. Better instructions are there.

https://gist.github.com/Omnomios/fa606e700c9405b5aa419d26661cb062

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment