Open mannummm11 opened 7 years ago
The reason is HttpURLConnection does check of server certificate which fails, and exception is thrown. You need to fix DownloadDispatcher.java:
Use HttpsURLConnection instead of HttpURLConnection
import javax.net.ssl.HttpsURLConnection;
...
private void transferData(HttpsURLConnection conn)
...
private int readResponseHeaders( HttpsURLConnection conn)
...
Create SSL context:
SSLContext sslContext = null;
try {
TrustManager[] tm = {
new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
@Override
public X509Certificate[] getAcceptedIssuers() { return null; }
}
};
sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, tm, null);
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
} catch(Exception e) {
e.printStackTrace();
}
After
conn = (HttpsURLConnection) url.openConnection();
add
conn.setSSLSocketFactory(sslContext.getSocketFactory());
done.
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. 09-09 12:01:43.811 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:333) 09-09 12:01:43.811 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.http.SocketConnector.connectTls(SocketConnector.java:103) 09-09 12:01:43.811 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.Connection.connect(Connection.java:169) 09-09 12:01:43.811 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:211) 09-09 12:01:43.811 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:128) 09-09 12:01:43.811 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:352) 09-09 12:01:43.811 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:341) 09-09 12:01:43.812 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:259) 09-09 12:01:43.812 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:454) 09-09 12:01:43.812 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:405) 09-09 12:01:43.812 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:518) 09-09 12:01:43.812 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105) 09-09 12:01:43.812 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java) 09-09 12:01:43.812 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.thin.downloadmanager.DownloadDispatcher.executeDownload(DownloadDispatcher.java:135) 09-09 12:01:43.812 31697-32142/com.logimetrix.nj.cairn W/System.err: at com.thin.downloadmanager.DownloadDispatcher.run(DownloadDispatcher.java:83)
Please answer me if any one faced same issue