近期升级了mac系统,从10到12。发现charle居然不能抓包了。
https的请求包全部失败,页面提示非可信网络。
这里整理一下,亲测有效

第一步 mac重新配置证书

安装证书的时候发现不能写入钥匙串的错

ios证书不信任怎么解决 iphone证书不可信是什么意思_http

ios证书不信任怎么解决 iphone证书不可信是什么意思_ios证书不信任怎么解决_02


正确用法:

解锁钥匙串

ios证书不信任怎么解决 iphone证书不可信是什么意思_安全_03


reset证书

ios证书不信任怎么解决 iphone证书不可信是什么意思_服务器_04

最后再进行安装最上面的安装,然后将证书改成信任。

ios证书不信任怎么解决 iphone证书不可信是什么意思_https_05

第二部,如果以上的操作还不能用,还要重新设置iphone上的证书

在手机上访问http://chls.pro/ssl 下载证书并安装

如果不能下载的话,用电脑访问下载后,发到邮箱。再通过手机上的safari浏览器打开即可。最后一步设置信任。

成功前后的截图:

ios证书不信任怎么解决 iphone证书不可信是什么意思_安全_06


ios证书不信任怎么解决 iphone证书不可信是什么意思_安全_07



补充下CA证书:

证书就是由认证机构,采用它们自己的私钥,对发送方的公钥和发送方的信息进行数字加密。各大CA(认证机构)的证书已经默认被添加到了浏览器和操作系统中。

1 服务器生成自己的密匙对——公钥和私钥
2 服务器在认证机构注册自己的公钥
3 认证机构(CA)用自己机构的私钥对,服务器的公钥进行数字签名并生成证书(里面带了这个签名过得公钥和服务器一些信息)
4 认证机构把证书给客户端
5 客户端用认证机构的公钥验证数字签名
6 认证成功后用里面带的服务器的公钥加密并发消息给服务器
7 服务器用自己的私钥解密

抓包软件为什么要导入证书
我们如果用过Charles、Fiddler或者其它抓包软件,那么一定对抓HTTPS包需要导入抓包软件的证书的流程不陌生,那么为什么它能解密HTTPS数据,为什么它需要导包呢?看以下流程:

1 客户端发一个HTTPS请求,被Fiddler拦截,Fiddler伪装成客户端发请求给服务器

2 服务器 向 假装成客户端的FIddler返回了CA证书

3 Flidder自己制作了一张证书,假装服务器给客户端发了自己做的证书。

4 客户端拿到Fildder做的假证书并用认证机构的公钥验证数字签名,得到Fiddler假冒的公钥,然后用其加密发送请求

5 Fiddler用自己的私钥解密获取请求数据

6……

这样的话Fiddler能完全获取解析到双方加密的数据。