【问题标题】:javax.net.ssl.SSLHandshakeException: Connection closed by peerjavax.net.ssl.SSLHandshakeException:连接被对等方关闭
【发布时间】:2026-02-13 23:45:02
【问题描述】:

我有一个使用 ASP.Net Web 服务的 Android 应用程序。

它不适用于 Android 7,产生以下错误:

javax.net.ssl.SSLHandshakeException:连接被对等方关闭

摘要代码为:

AllCertificatesAndHostsTruster.apply ();
HttpsTransportSE transport = new KeepAliveHttpsTransportSE (context.getResources (). GetString (R.string.server_local), 443, URL, timeoutGlobal);
transport.call (SOAP_ACTION, envelope);

AllCertificatesAndHostsTruster.apply() 来源:https://gist.github.com/gotev/6784c1303793c6ee9e56

有什么想法吗?从现在开始谢谢。

【问题讨论】:

  • 在Android 6及以下版本下可以正常使用吗?
  • 是的,Android 7 的问题
  • 抱歉耽搁了这么久.. 如果可能的话,请您比较一下 android 6.0 和 android 7.0 中的 Root 信任 CA 列表,请按照以下步骤操作:1. 打开设置 2. 点击“安全和位置” 3. 点击“加密和凭据” 4. 点击“受信任的凭据”。这将显示设备上所有受信任证书的列表。我看到你刚刚覆盖了主机名验证,嗯..

标签: java asp.net android-studio https ksoap2


【解决方案1】:

确保您已从服务器端启用 TLS。

【讨论】:

  • 你能提供一些帮助来检查吗?它是带有 ASP.Net 的 Window Server 2003。谢谢
【解决方案2】:

你可能错过了

-Dhttps.protocols=TLSv1.2

如果服务器上的证书不支持 TLS1(这是 java 7 默认的),则启用 TLSv1.2 的 JVM 参数

https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https

【讨论】:

    最近更新 更多