DownloadManager握手失败

时间:2017-02-07 15:50:29

标签: android tls1.2 android-download-manager handshake

我尝试使用Android DownloadManager下载一些远程文件,看起来在Lollipop 5.0上运行应用程序时会出现一些HTTPS证书问题。适用于更高版本,我可以使用OkHttp手动下载相同的文件。

Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xaaf60a00: Failure in SSL library, usually a protocol error
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:765 0xa957ad35:0x00000000)

我能在客户端做什么吗? (例如,使用特定协议强制下载管理器) 远程主机只启用了TLS 1.0 / 1.1 / 1.2,没有SSL。

还尝试从我的机​​器上运行一些测试,我得到以下内容:

> openssl s_client -connect <myhost>:443
CONNECTED(00000003)
24485:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.30.2/src/ssl/s23_clnt.c:593:

任何提示都将受到高度赞赏,谢谢!

1 个答案:

答案 0 :(得分:1)

  

我能在客户端做什么吗? (例如,使用特定协议强制下载管理器)

只有您可以提供一些不同的URL来下载相同的内容,但无论出于何种原因,它都会通过不会出现问题的其他服务器配置运行。这方面的典型示例是使用http网址DownloadManager。这将是不幸的; OTOH,取决于您的minSdkVersion,可能是必要的,因为旧的Android版本(1.x / 2.x IIRC)通常不支持https DownloadManager

否则,DownloadManager是它自己的应用程序,并且您没有对其处理SSL的方式进行细粒度控制。