Android 10 SSL双向认证握手失败

Android 10 SSL双向认证握手失败

公司项目前端时间遇到的一个问题(已经解决了),最近有时间准备分享一下。
项目工程中一直使用SSL双向认证的套接字通信方式,前段时间有Android 10的用户反馈他们的手机无法正常登录了。于是,我追踪这个问题,发现是双向认证时握手失败(瞬间懵逼了),以前对这块不熟。报错如下:Android 10 SSL双向认证握手失败_第1张图片
于是各种度娘、Google、QQ技术群咨询,都没有找到好的解决方案。最终在Android开发者平台上查看Android 10最新特性时发现了一个亮点(https://developer.android.google.cn/about/versions/10/behavior-changes-all)
Android 10 SSL双向认证握手失败_第2张图片
查看原工程内证书信息,使用的证书格式是2013年自签名的SHA-1证书,
Android 10 SSL双向认证握手失败_第3张图片
找到了一个出发点后,于是找到服务端人员,让他们重新生成一个SHA-256的证书,Android 10 SSL双向认证握手失败_第4张图片
替换证书后,双向认证握手成功了,而且兼容低版本手机。
由于我们工程使用的是BKS文件,需要将服务端提供的.crt和.pfx文件转换为BKS文件,参考这篇文章即可 https://blog.csdn.net/weixin_33897722/article/details/91715102

你可能感兴趣的:(android)