Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从服务器接收到无效的证书_Android - Fatal编程技术网

Android 从服务器接收到无效的证书

Android 从服务器接收到无效的证书,android,Android,WebAPI(使用.Net构建)托管在服务器上,并使用HTTPS从iOS和Android应用程序调用。证书或其他方面未做任何更改。iOS应用程序运行良好,使用相同api的web应用程序运行良好,但从今天早上开始,所有使用该api的Android应用程序(仅在Android版本5x或更低版本上运行)都因此错误而崩溃 android.runtime.JavaProxyThrowable: System.AggregateException: One or more errors occurred.

WebAPI(使用.Net构建)托管在服务器上,并使用HTTPS从iOS和Android应用程序调用。证书或其他方面未做任何更改。iOS应用程序运行良好,使用相同api的web应用程序运行良好,但从今天早上开始,所有使用该api的Android应用程序(仅在Android版本5x或更低版本上运行)都因此错误而崩溃

android.runtime.JavaProxyThrowable: System.AggregateException: One or more errors occurred. ---> System.Net.WebException: Error: TrustFailure (The authentication or decryption has failed.) ---> System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server.
检查证书,证书链,一切。没有问题。如果证书无效,那么其他应用程序都不应该工作,为什么会突然出现呢。有人能指出去哪里看吗。我搜索了这个网站,发现了一些线程,但他们的解决方案需要修改Android应用程序代码。这不能这么快完成(和部署)。如果有人能解释一下,为什么会突然发生呢。我们测试的Android设备甚至没有更新任何内容

通过ssllab测试服务器,并在Android模拟上进行握手:


问题解决了,这些旧版本的Android应用程序现在可以运行了。我必须在certificate manager中的任何位置禁用具有SHA1密钥afe5d244a8d1194230ff479fe2f897bbcd7a8cb4的COMODO根证书
COMODO RSA证书颁发机构。显然,windows update添加了这一点,但它在某种程度上存在冲突,并使中间证书无法从服务器发送(在第二个证书链中,第一个证书链是正常的)。通常,如果没有发送中间证书,客户端会从颁发者处下载,但Android mono framework显然不会这样做


感谢Adm Selec提供的解决方案。

检查服务器上预期的TLS协议以及您的应用程序支持的TLS协议。TLS会生成类似错误证书的错误。服务器支持TLS 1.2、1.1、1.0,我想低于5的Android版本需要1.1。直到昨天,所有设备都工作正常。现在,Android设备(只检查了4.4或更低版本)都无法工作。没有人接触服务器,没有任何更新或更改。证书可能已过期?没有,有效期至2019年。如果证书过期,使用同一证书的iOS和WebApp将无法工作。