加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

Charles Proxy 自定义 CA 证书的例子

发布时间:2022-06-18 21:14:33 所属栏目:教程 来源:互联网
导读:下面我们一起来看Charles Proxy 自定义 CA 证书的例子,希望此例子可以帮助到各位朋友,Charles Proxy 跟 Windows 平台下的 Fiddler 一样可以查看 HTTPS 流量,但使用 Charles 官方提供的 CA 证书检查 HTTPS 请求时,Firefox 35 下网页会出现如下错误: twitte
  下面我们一起来看Charles Proxy 自定义 CA 证书的例子,希望此例子可以帮助到各位朋友,Charles Proxy 跟 Windows 平台下的 Fiddler 一样可以查看 HTTPS 流量,但使用 Charles 官方提供的 CA 证书检查 HTTPS 请求时,Firefox 35 下网页会出现如下错误:
 
  twitter.com uses an invalid security certificate. The certificate is not trusted because the issuer certificate has expired. (Error code: sec_error_expired_issuer_certificate)
 
  据说原因是这样的:
 
  The more recent versions of Firefox only allow certs with start dates after the unix epoch (1st Jan 1970). As the Charles CA cert has a start year of 1899 it’s seen as expired.
 
  最新版本的 Firefox 只允许证书的起始时间在 1970 以后,而 Charles CA 证书的起始时间是 1899,解决办法是自建一个证书。
 
  自建 CA 证书
 
  我的过程基于 openSUSE 13.2 操作系统,逐行执行以下命令,openSUSE 下需要管理员权限.
 
  mkdir -p /usr/local/CharlesCA
  cd /usr/local/CharlesCA
  mkdir certs private newcerts
  echo 01 > serial
  touch index.txt
  生成 CA 证书
 
  openssl req -new -x509 -days 3650 -extensions v3_ca  
  -keyout private/ca_key.pem -out certs/ca_cert.pem  
  -config /etc/ssl/openssl.cnf
  请注意 -config 后指向的路径,这里是我 openSUSE 下 openssl.cnf 文件路径,请根据自己的操作系统确认其路径,这一步中也会要求填写 passphrase 及其它信息,passphrase 后面在 Charles 中会用到.
 
  转换为 PKCS12 格式
 
  因为 Charles 需要 pkcs12 格式的证书,所以还需要做个转换:
 
  openssl pkcs12 -export -out ca_cert.pfx -inkey private/ca_key.pem -in certs/ca_cert.pem --phpfensi.com
  这样,/usr/local/CharlesCA 目录下会生成 ca_cert.pfx 文件,我们总共得到了 3 个重要的文件:
 
  ca_cert.pfx – charles 添加自定义证书用的
 
  ca_cert.pem – 提供给客户端使用的
 
  ca_key.pem – 钥匙(请保证它的安全)
 
  配置 charles,打开 charles -> Proxy -> Proxy Settings… 菜单,点击 SSL 标签页,勾选 ‘Use a custom CA certificate’,点击 CHOOSE 按键,选择 /usr/local/CharlesCA/ca_cert.pfx 文件,这样就配置好 charles 的证书.
 
  导入证书到 Firefox
 
  打开 Firefox -> Preferences,选择 Advanced -> Certificates 标签页,点击 VIEW CERTIFICATES,点击 IMPORT...,定位到 /usr/local/CharlesCA/certs/ca_cert.pem 文件,勾选 ‘This certificate can identify websites’,确认.
 
  最后重启 Charles,会弹窗口要求填写上面创建证书时设置的 passphrase。之后 https 流量可以正常分析了.
 
 

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读