之前转载的文章并没有解决问题,继续排查

Android的盒子系统19在https下访问发生了握手失败,失败的log如下:

2019-10-14 10:24:43.344----3809:pool-3-thread-1----b----catch IOException : javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xaaea2f10: Failure in SSL library, usually a protocol errorerror:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x6a27d9db:0x00000000)at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:448)at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)at com.android.okhttp.Connection.connect(Connection.java:107)at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)at com.android.okhttp.internal.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:161)at com.cn21.phoenix.d.b.b(Unknown Source)at com.cn21.phoenix.d.a.b(Unknown Source)at com.cn21.phoenix.c.d$a.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)at java.lang.Thread.run(Thread.java:841)Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xaaea2f10: Failure in SSL library, usually a protocol errorerror:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x6a27d9db:0x00000000)at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405)... 14 more

一开始怀疑是服务端没有支持tls1的问题,但是在https的网站检测下:https://www.ssllabs.com/ssltest/analyze.html是有对tls都有支持:

ConfigurationProtocolsTLS 1.3NoTLS 1.2YesTLS 1.1YesTLS 1.0YesSSL 3NoSSL 2NoFor TLS 1.3 tests, we only support RFC 8446.

再细看下log是ssl v3的错,应该是自动选择ssl 3作为加密协议。

因此可以禁用ssl,强制使用tls解决,强制使用tls如下:

https://cloud.tencent.com/developer/ask/94694 待验证:

 

 

 

 

更多相关文章

  1. Android中上传图片到服务端C#接收图
  2. 【Android增量升级系列_02】 浅谈Android增量更新服务端的实现方
  3. Android 服务端开发之开发环境配置
  4. Android 扫码盒子全局接收付款码(全局事件&上层接收&多重下发)
  5. android binder c++层 - 回调客户端服务 - 客户端(c++层) 调用
  6. Socket Android手机客户端与PC服务端局域网内联测试
  7. Android客户端上传文件,C#服务端接收文件
  8. android客户端利用sokcet通信和向Java服务端发请求,Java服务端把
  9. 聊天室服务端

随机推荐

  1. Android(安卓)AndroidX的迁移
  2. 零打碎敲学Android(一)—用什么来替代Gra
  3. Android4.4.2 获取NTP时间,并设置系统时间
  4. Android中的Selector
  5. 如何从UA分辨出Android设备类型
  6. Android(安卓)6.0耳机hook按键接听和挂断
  7. Android一次申请多个动态权限
  8. Android(安卓)核心分析 之七------Servic
  9. 基本空间划分
  10. Android之从网络中获取数据并返回客户端