某些安卓手机获取不到 https 的请求数据

2018-05-28 11:31:53 +08:00
 34091136

如题,有人知道这样是什么情况吗?

11068 次点击
所在节点    Android
38 条回复
34091136
2018-05-28 22:44:18 +08:00
@CodingPuppy tls1.0 我也配置了
34091136
2018-05-28 22:44:37 +08:00
@janus77 API 请求
yrom
2018-05-28 22:54:23 +08:00
这些手机连接失败总有报错吧? log 有没有
honeycomb
2018-05-28 23:07:32 +08:00
@34091136 要不要先排除法做一下:
1,用模拟器 /aosp 的 6.0 以下版本能复现故障吗
2,上述模拟器 /aosp 调用 getSupportedCipherSuites 得到的结果和开头的“某些手机”冲突吗?

另外 ecdhe_rsa_aes128_gcm_sha256 似乎是 Android5.0 或以上才支持
h4lbhg1G
2018-05-28 23:29:45 +08:00
@34091136 #20 如果我没记错 nginx openssl 在处理多个配置时有 bug,只能用最高的那个设置 你试试只配置最低的那档,不配置多个
VYSE
2018-05-29 01:57:47 +08:00
Let's Encrypt CA? 是有些老机型没有 trust 他家导致 SSL error
dandycheung
2018-05-29 08:35:40 +08:00
貌似 4.x 版本的系统,TLS 的支持各厂商不太一样。
salmon5
2018-05-29 08:46:24 +08:00
又是 let's encrypt 惹的祸
34091136
2018-05-29 11:34:14 +08:00
@VYSE comodo 的证书
34091136
2018-05-29 11:34:58 +08:00
@honeycomb 6.0 以下都复现,
34091136
2018-05-29 11:35:42 +08:00
@h4lbhg1G 具体配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;这个吗?
VYSE
2018-05-29 11:37:24 +08:00
@34091136 #29 实测下看 exception 就清楚了, 的确老机器某些证书会缺失.
h4lbhg1G
2018-05-29 11:56:08 +08:00
@34091136 #31 本来我想说的是 ssl_ecdh_curve prime256v1。是不是浏览器可以访问接口,但是客户端获取不到数据?而且用了 okhttp? 我知道的只有这个坑。
flyingghost
2018-05-29 12:31:22 +08:00
给个 echo 接口放出 url 来给大家看看可能更清楚。
hyyou2010
2018-05-29 12:47:36 +08:00
配置了 ssl 证书----------怎样配置的?是证书写到 app 里面的,还是发证 CA 添加到手机系统?
814084764
2018-05-29 19:07:08 +08:00
直接忽略证书校验就行了。
但是上不了谷歌商店。
34091136
2018-05-30 11:38:33 +08:00
@hyyou2010 证书是放到 nginx 服务器上的
hyyou2010
2018-05-30 12:38:15 +08:00
@34091136 客户端怎么验证证书的?比如,通过配置 CA,或者把证书写死在代码里面?

我有过这样的经历,但是也可能是我水平不够,某个地方设置漏了导致的:配置 CA 证书等等,通过手机系统浏览器可以访问,不提示 https 证书问题,但是通过 API 接口访问就是访问不到。

后来钻研,我的理解是:虽然配置了 CA 证书,但是 Android 系统没能传递这个信任链,所以还是不信任我们的服务器。后来是把证书验证写死在代码里面解决的。

注意,我的理解不一定对,只是陈述我曾经的经历。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/458304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX