¿Deshabilitar la validación del certificado SSL de la conexión HTTPS?

Cuando deseo abrir una conexión de HTTPS consigo la excepción del SSL. ¿Cómo establecer HttpURLConnection de una manera de no ser sensible a esta excepción?

Mi código es:

private String getData() { String response = null; String connection = "https://www.kamalan.com/"; try { URL url = new URL(connection); Log.i(TAG, "Try to open: " + connection); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); int responseCode = conn.getResponseCode(); Log.i(TAG, "Response code is: " + responseCode); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); if (in != null) { StringBuilder strBuilder = new StringBuilder(); int ch = 0; while ((ch = in.read()) != -1) strBuilder.append((char) ch); // get returned message and show it response = strBuilder.toString(); Log.i("JSON returned by server:", response); } in.close(); } else { Log.e(TAG, "Couldn't open connection in getResepiItems()"); } } catch (SSLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return response; } 

Siga el siguiente método, funciona para mí.

  URL url = new URL("Your URL"); HttpsURLConnection urlConnection =(HttpsURLConnection) url.openConnection(); urlConnection.setSSLSocketFactory(SSLCertificateSocketFactory.getInsecure(0, null)); urlConnection.setHostnameVerifier(getHostnameVerifier()); InputStream is = urlConnection.getInputStream(); OutputStream os = new FileOutputStream(downloadedFile); byte[] data = new byte[1024]; int count; while ((count = is.read(data)) != -1) { os.write(data, 0, count); } os.flush(); os.close(); is.close(); 

El siguiente método para establecer el nombre de host

 private HostnameVerifier getHostnameVerifier() { HostnameVerifier hostnameVerifier = new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { HostnameVerifier hv = HttpsURLConnection.getDefaultHostnameVerifier(); return hv.verify("com.example.com", session); } }; return hostnameVerifier; } 
  • Certificado particular de confianza solamente emitido por CA - Android
  • Android - problemas de SSL en el emulador de estudio de Android, funciona bien en el teléfono
  • Volley NoConnectionError: tlsv1 alert fallback inapropiado
  • SSL handshake Excepción en la aplicación navegar desde otros países
  • Android 4.4.2 Protocolo SSL abortado
  • Error de libcurl CURLE_SSL_CACERT_BADFILE en android
  • ¿Cómo conectar un socket SSL a través de un proxy HTTP?
  • Android HttpClient y HTTPS
  • Excepción terminada handshake de https de Android
  • SSLSocket se bloquea en getInputStream cuando el dispositivo android está en wifi
  • Javax.net.ssl.SSLPeerUnverifiedException: Ningún certificado de compañero mientras estoy trabajando con google place api en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.