【发布时间】:2014-06-16 19:00:33
【问题描述】:
我有以下代码:
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setConnectTimeout(60000); //set timeout to 60 seconds
conn.connect();
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(filePath);
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
output.write(data, 0, count);
}
output.close();
input.close();
我有这个下载文件的代码。当我执行它时,我得到这个在任何页面上都找不到的 IOException 错误:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Not a CA certificate
我在 Android 4.3 上对其进行了测试,它可以正常工作,但不能在 2.3 上运行。知道会出什么问题。它在浏览器和 iOS 上也可以正常工作。我还检查了http://www.sslshopper.com/ 上的证书,everythink 工作正常
【问题讨论】:
-
这是一个已知的(旧 Android)错误:stackoverflow.com/questions/21183043/…stackoverflow.com/questions/21306336/…
-
我找到了这个,但我不想添加任何 .crt 文件。有没有其他的走动?