¿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; } 
  • Reutilizando sesiones SSL en Android con HttpClient
  • Error de E / S durante la llamada al sistema, Conexión restablecida por pares
  • ¿Cómo hacer un HTTPS POST de Android?
  • Generación e instalación de certificados SSL
  • El ancla de confianza para la ruta de certificación no se encuentra utilizando SSL
  • SSL Pinning con la biblioteca Volley en Android
  • Android 4.4.2 Protocolo SSL abortado
  • SSLHandshakeException: Ancla de confianza para la ruta de certificación no encontrada. Solo en la API de Android <19
  • ¿Por qué android obtiene el certificado ssl incorrecto? (Dos dominios, un servidor)
  • ¿Cómo obtener charles proxy trabajo con Android 7 turrón?
  • HTTPS GET (SSL) con Android y certificado de servidor auto-firmado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.