在通过 HTTPS 连接到 SHA256 CA 安装的 Windows 2003 Server SP2 时,Android 7.0 Nougat 中出现“连接已关闭”错误

Posted

技术标签:

【中文标题】在通过 HTTPS 连接到 SHA256 CA 安装的 Windows 2003 Server SP2 时,Android 7.0 Nougat 中出现“连接已关闭”错误【英文标题】:"Connection closed by peer" error occurs in Android 7.0 Nougat while connecting to SHA256 CA installed Windows 2003 Server SP2 through HTTPS 【发布时间】:2017-01-10 07:12:21 【问题描述】:

我的应用通过 HTTPS 与服务器接口(经典 ASP)进行通信。 它在之前的 android 7.0 Nougat 版本中运行良好。 (直到 6.0) 但是,Android 7.0 手机和 AVD(Android 虚拟设备)发生连接被对等关闭错误。 服务器为 Windows 2003 Server SP2(SSL 证书于 2016 年 7 月 23 日从 SHA1 更新为 SHA256)、HTTPS、Classic ASP GeoTrust 服务器的 SSL 证书安装检查状态如下 (cryptoreport.geotrust.com/checker/views/certCheck.jsp)GeoTrust check status screen shot of my Server's certificate (未启用协议:TLS1.1、TLS1.2)

在我看来,Android 7.0 无法与 TLS1.0 的 Windows 2003 Server 进行 SSL 握手(只有 TLSv1.1,TLSv1.2 可以支持与 SHA256 证书成功握手?) 是这样吗? 我刚刚发现了这个热修复:http://support.microsoft.com/kb/968730 这可以解决吗?

我该如何解决这个问题

【问题讨论】:

问题出在服务器端。 support.microsoft.com/kb/968730 hotfix 可以解决。 所以您的问题只发生在 Windows 服务器上? 问题出在客户端)这里是Volley的解决方案,但也可以应用于okHttpHttpsUrlConnectionlink 这个问题你解决了吗。你能分享解决方案吗?谢谢! 【参考方案1】:

最后,我们将服务器更改为 Win 2008...;; 这是我认为唯一的解决方案。

【讨论】:

以上是关于在通过 HTTPS 连接到 SHA256 CA 安装的 Windows 2003 Server SP2 时,Android 7.0 Nougat 中出现“连接已关闭”错误的主要内容,如果未能解决你的问题,请参考以下文章

自带CA ,sha256 哈希签名,2048 位加密 脚本,通用

Kubernetes 无法从 gitlab 注册表中提取图像 unknown-sha256: <4ca..252> 意外提交摘要前提条件

启用 TLSv1.2 和 TLS_RSA_WITH_AES_256_CBC_SHA256 密码套件

启用TLSv1.2和TLS_RSA_WITH_AES_256_CBC_SHA256密码套件

“sha256_password 或caching_sha2_password 需要加密”

在 Node JS TLS 中添加/启用从 SSLv3 (DHE-RSA-AES256-SHA) 到 TLS 1.2 的密码