2017-02-07 2 views
0

Android DownloadManager를 사용하여 원격 파일을 다운로드하려고하는데 Lollipop 5.0에서 앱을 실행할 때 HTTPS 인증서 문제가있는 것 같습니다. 더 큰 버전에서 잘 작동하며 OkHttp를 사용하여 동일한 파일을 수동으로 다운로드 할 수 있습니다.DownloadManager 핸드 셰이크 실패

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) 

클라이언트 쪽에서 할 수있는 것이 있습니까? (예 : 특정 프로토콜을 사용하여 DownloadManager 강제 적용) 원격 호스트에는 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: 

어떤 힌트가 높게 평가 될 것입니다, 감사합니다!

답변

0

클라이언트 쪽에서 할 수있는 것이 있습니까? (예 : 특정 프로토콜을 사용하여 DownloadManager를 강제 실행)

어떤 이유로 든 동일한 문제를 해결할 수있는 다른 URL을 제공 할 수있는 경우에만 문제가 발생하지 않는 다른 서버 구성을 실행합니다. 이 예는 DownloadManager과 함께 http URL을 사용하는 것입니다. 이것은 불행한 일입니다. OTOH는 minSdkVersion에 따라 오래된 Android 버전 (1.x/2.x IIRC)이 httpsDownloadManager을 지원하지 않았기 때문에 필요할 수 있습니다.

그렇지 않은 경우 DownloadManager은 자체 앱이며 SSL 처리 방법을 세밀하게 제어 할 수 없습니다.