Forked from aembleton/Ignore certificate for HttpURLConnection in Android.java
Last active
February 9, 2023 04:34
-
-
Save Omnomios/fa606e700c9405b5aa419d26661cb062 to your computer and use it in GitHub Desktop.
The following code disables SSL certificate checking for any new instances of HttpsUrlConnection wrapped to be used in NativeScript.
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
/** | |
* 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. | |
* | |
* Save this file in App_Resources/Android/src/main/java/DevHack.java | |
* | |
* Make sure you do a ns clean and rebuild your project | |
* | |
* You can call this method in Javascript with com.hack.DevHack.disableSSLCertificateChecking(); | |
*/ | |
package com.hack; | |
import java.security.KeyManagementException; | |
import java.security.NoSuchAlgorithmException; | |
import java.security.cert.CertificateException; | |
import java.security.cert.X509Certificate; | |
import javax.net.ssl.HostnameVerifier; | |
import javax.net.ssl.HttpsURLConnection; | |
import javax.net.ssl.SSLContext; | |
import javax.net.ssl.SSLSession; | |
import javax.net.ssl.TrustManager; | |
import javax.net.ssl.X509TrustManager; | |
public class DevHack | |
{ | |
public 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(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment