gpt4 book ai didi

使用 ION 进行 HTTPS 请求的 Android 应用程序失败,似乎是在 Google Play 服务更新之后

转载 作者:搜寻专家 更新时间:2023-11-01 08:26:43 25 4
gpt4 key购买 nike

我有一个使用 ION 的 Android 应用程序向我的后端发出 HTTPS 请求。今天早上,它突然开始因 SSL 握手错误而失败:

javax.net.ssl.SSLHandshakeException:错误:10000410:SSL 例程:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE

这几乎是日志中的唯一信息。

这首先发生在一部手机上,然后是另一部,然后是另一部,没有任何更改推送到手机应用程序或后端。这似乎与 Google Play 服务的更新有关。这些手机同时运行 Marshmallow 和 Nougat。

并非所有服务器都失败,这似乎与我在 AWS 上使用 API 网关/Cloudfront 的服务器有关。使用相同的证书直接访问我的 EC2 服务器工作正常。

使用 openssl 我得到以下输出:

$ openssl s_client -connect <my-server>:443
CONNECTED(00000003)
SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:770:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 295 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

最佳答案

找到this AWS forum thread后,我怀疑SNI可能是问题所在,这让我找到了this Stack Overflow question其中包括一个由禁用 ION 的 Conscrypt MW 组成的修复:

mIon.getConscryptMiddleware().enable(false);

只需将其放入您的Application 子类或配置 Ion 的任何其他地方。如果您不使用专用的 Ion 实例,您可以在 Ion.getDefault() 上调用它。

我不完全了解此更改的后果,但它确实解决了我的问题。请注意,链接的问题提到,一旦更新了 Google Play 服务,就不需要这样做,但就我而言,似乎是 GPS 的更新触发了此更改的需要。任何可以阐明为什么这是有效的以及它做什么的人都非常欢迎为这个答案做出贡献。

关于使用 ION 进行 HTTPS 请求的 Android 应用程序失败,似乎是在 Google Play 服务更新之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44307801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com