前言
最近发现访问项目的网页偶尔会被插入广告,很有可能是运营商劫持流量插入进去的,我在家里使用的长城宽带打开非加密的网页,时不时会弹个广告窗,这个也算是中国特色了。因此计划项目上线https,抓包分析就困难了,之前知道有人搞过https的抓包,就是配置有些麻烦。上网找了些资料,算是配成功了,这里记录下,防止以后忘记了。
使用openssl创建证书
1. 创立根证书密钥文件
openssl genrsa -des3 -out root.key
2. 创立根证书的申请文件root.csr
openssl req -new -key root.key -out root.csr
3. 创立一个自目前日期起为期十年的根证书root.crt
openssl x509 -req -days 3650 -sha256 -extensions v3_ca -signkey root.key -in root.csr -out root.crt
4. 将根证书文件root.crt和根证书密钥文件root.key并合成根证书安装包charlse.pfx
openssl pkcs12 -export -in root.crt -inkey root.key -out charlse.pfx
5.查看证书
openssl x509 -noout -text -in root.crt
charlse设置支持https抓包
1. 使用自定义证书
proxy -> proxy settings -> ssl ->勾选 use a custom CA certificate -> 导入生成好的自定义证书(charlse.pfx)
2. 添加需要https抓包的站点
proxy -> proxy settings -> ssl -> add按钮
浏览器信任证书
安装charlse.pfx加入可信任区
后记
1.现在浏览器sha1算法的证书都不支持了,会提示2017年后会过期,不能使用了。我使用的charles是老版本,自动生成发送给浏览器的是sha1算法的证书,没找到charles哪里可以设置,现在暂时能使用,就这样吧。
参考资料
【1】openssl手工生成证书
http://blog.csdn.net/jzkdl/article/details/7479086