客户端证书错误避坑指南

本文通过mPaaS客户端实例,介绍了由TLS/SSL握手失败导致的连接异常问题及其解决方案,涉及证书历史问题、证书链信任模式及加密套件协商等问题。
简介:HTTPS作为站点安全的最佳实践之一,已经得到了最广泛的支持。然而在实际生产过程中,由TLS/SSL握手失败引起的连接异常问题依然十分常见。本文将结合mPaaS(https://www.aliyun.com/product/mpaas)客户端实际排查案例,介绍这类问题在移动领域的排查和解决方案。

本文始发于:云栖社区
时间:2020-06-10
原文链接:https://yq.aliyun.com/articles/764653

1.背景

HTTPS作为站点安全的最佳实践之一,已经得到了最广泛的支持。然而在实际生产过程中,由TLS/SSL握手失败引起的连接异常问题依然十分常见。本文将结合mPaaS(https://www.aliyun.com/product/mpaas )客户端实际排查案例,介绍这类问题在移动领域的排查和解决方案。

2. TLS/SSL握手基本流程

HTTPS的主要作用是在不安全的网络上创建一个基于TLS/SSL协议的安全信道,对窃听和中间人攻击提供一定程度的合理防护。TLS/SSL握手的基本流程如下图描述:
image.png

图1:TLS/SSL握手基本流程图

3.案例分享

3.1 CFCA证书的历史问题

3.1.1背景
某客户为其生产环境的站点申请了一张由CFCA(https://www.cfca.com.cn/ )签发的证书。相关域名正确配置该证书且启用HTTPS后,经测试发现他们的客户端App在低版本手机上(iOS<10.0,Android<6.0)无法连接到相关站点。
客户端调试发现,控制台会看到证书无效的错误信息(Invalid Certificate或Certificate Unknown)。

3.1.2排查
起初,工程师并不知道客户的证书是由哪个机构签发以及有什么问题。而对于这类问题,一般均需要对客户端网络包做进一步的分析与判断。因此安排客户在受影响的设备上进行问题复现及客户端抓包操作。

(1)获取到网络包后,首先确认了客户端连接失败的直接原因为TLS握手过程异常终止,见下:
image.png

图2:客户端连接失败抓包分析结果

(2)查看Encrypted Alert内容,错误信息为0x02 0x2E。根据TLS 1.2协议(RFC5246,https://tools.ietf.org/html/rfc5246#page-69 )的定义,该错误是因为certificate_unknown。

(3)继续查看该证书的具体信息

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值