2017-02-07 11 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を提供できる場合のみ、問題を示さない別のサーバー構成を実行します。これの古典的な例はDownloadManagerhttpのURLを使用することです。これは残念です。 OTOHは、minSdkVersionに応じて、古いAndroidバージョン(1.x/2.x IIRC)がhttpsと一般的にDownloadManagerをサポートしていなかったため、必要な場合があります。

それ以外の場合、DownloadManagerは独自のアプリケーションであり、SSLの処理方法を細かく制御することはできません。

関連する問題