前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >charles,mimproxy配置公司内自定义的证书:SSL Client Certificates

charles,mimproxy配置公司内自定义的证书:SSL Client Certificates

作者头像
我去热饭
发布2022-05-18 21:13:01
1.1K0
发布2022-05-18 21:13:01
举报
文章被收录于专栏:测试开发干货测试开发干货

首先,有些公司的测试人员会面临一个抓包问题。 那就是自己家的app抓包必须要配置一个证书! 这个证书开发同学会发给你,一般后缀是.p12 .pem等 无所谓 如果不安装这个证书。我们就无法解析接口返回值,一般情况就是返回值写着:400,如图

要解决这个问题,首先要明确一个概念:

无论是fiddler,charles,要抓https接口,大多需要安装证书-抓包工具自带的证书。很多小伙伴会把这个证书和公司内自己的证书弄混,以为是一个证书。实际上并不是。

charles举例来说,工具自带的证书只是保证你能正常抓到https接口。并不管你能不能解析返回值。服务器发现你没有我们公司内部证书,所以给你返回400。

工具自带的证书一般是这么安装:

我们小伙伴去百度如何安装证书的时候,几乎所有文章都会教你安装这个工具自带抓https的证书,小伙伴也并不知道上述俩个证书的情况后,盲目的跟着网上教程安装了工具自带证书,然后就造成了抓包发现400 无法解析的问题。

本文要说的是如何安装公司内的证书。俩个证书的道理再用土话阐述一下:

1.工具自带证书:负责让你抓到https接口

2.公司内部证书:负责让你解析成功自家app的某些https接口,这个证书也叫客户端证书

网上教程几乎都是教你安装1.工具自带证书。

这里开始看好:

打开charles—点击上面菜单:Proxy------点击子菜单:SSL Proxying Settings-----点击中间的选项:Client Certificates----点击中下部按钮:Add------Host写 * -------点击Choose按钮-----选择开发给你的公司内部证书------点击ok----勾选上------点击ok------重启charles

如上图设置即可。重启charles后就可以成功解析那些接口了呢。

下面开始讲mitmproxy如何安装。

博主搜了n多文章,都无法搜到这个教程,甚至发现几乎所有教程都是复制粘贴,教你最简单的安装mitmproxy和抓包,mock等。其中有少许文章说如何安装mitmproxy自己的证书,但是没有发现如何安装公司内部的客户端证书。

无奈之下只能去看英文官网,发现这样一句:

没错,这就是在我们启动mitmproxy命令时候,只需要简单的加一个参数即可。就这么简单

命令如下:

代码语言:javascript
复制
mitmproxy --set client_certs=你的证书路径

mitmproxy --set client_certs=你的证书路径

1

这样就可以解析成功了!

附上官网文档连接:

mitmproxy官方文档

这里再说一下:charles中最好用.p12结尾的证书

mitmproxy的命令行中要用.pem结尾的证书

python的requests模块发送请求时候要带证书也要带.pem结尾的证书。

证书格式的转换可以用openssl命令转换,具体教程可以自行百度,有很多也很简单。

手机安装mitmproxy工具自带的证书也可以连接好代理后访问 mitm.it. 来下载即可:

如果进去显示这样:if you can see this ,traffic is not passing through mitmporxy. 这说明没代理成功。请重启mitmproxy,手机代理连好,端口8080。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档