欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

iOS 10.3下Charles抓包ssl证书信任问题的解决办法,iosssl

来源: 开发者 投稿于  被查看 49792 次 评论:10

iOS 10.3下Charles抓包ssl证书信任问题的解决办法,iosssl


iOS 10.3下解决Charles抓包ssl证书信任问题

针对近期iOS10.3以上的系统charles抓https信任问题

最近iPhone系统更新到ios10.3后,在公司里用Charles抓包竟然出现了一些问题,https的请求都会失败,提示错误信息为Failure SSLHandshake: Received fatal alert: unknown_ca和You may need to configure your browser or application to trust the Charles Root Certificate.然而之前任何问题都没有,并且相关设置都正确:Mac上安装了Charles的根证书,并且设置了始终信任,然后手机上也登录了https://chls.pro/ssl安装了描述文件,一切都按正常程序走的,但是错误始终无法解决.这里Charles的相关使用不做介绍,不会使用的请参考本文结尾处唐巧大大的博文.

相关环境

Charles 4.0.2

iPhone 6s iOS 10.3.1

原因

设置->通用->描述文件->charles proxy custom root certificate

虽然charles的根证书已经在安装列表中显示,但它是被关闭的。在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书。

解决

设置->通用->关于本机->证书信任设置-> 找到charles proxy custom root certificate然后信任该证书即可.

\

信任证书

后记

问题虽小,但是很有必要普及一下.这个设置证书信任的开关界面隐藏的很深,是iOS 10.3之后出现的(貌似是,至少之前我没见过).这个问题因此也只有在iOS 10.3的设备上才会出现,真是太意外了!因此作为iOS开发者,更新手机系统时,了解一下系统更新的相关内容也变得很有必要.

用户评论