为MitmProxy生成根证书

Hom*_*ons 7 openssl

嗨,我为MitmProxy应用程序生成根证书,它在家庭位置存在4个cer

mitmproxy-ca.pem PEM格式的私钥和证书.mitmproxy-ca-cert.pem PEM格式的证书.使用它来分发到大多数非Windows平台.mitmproxy-ca-cert.p12 PKCS12格式的证书.用于Windows.mitmproxy-ca-cert.cer与.pem相同的文件,但某些Android设备需要扩展名.

目前它生成证书颁发者作为MitmProxy我已经搜索了在python上构建的源代码请帮助我希望生成我自己的证书或更改源代码,以便生成其他发行者

抱歉英文不好// Sm(9)

Nat*_*eri 7

您可以将自己的证书与mitmproxy的--cert选项一起使用.

> openssl genrsa -out ca.key 2048
> openssl req -new -x509 -key ca.key -out ca.crt

   ... No need to fill out optional fields ...
   Common Name (eg, YOUR name) []:*.google.com  (domain you want to MITM here)
   ...

> cat ca.key ca.crt > ca.pem 
> mitmproxy --cert=ca.pem
Run Code Online (Sandbox Code Playgroud)

  • 这并没有回答操作提出的问题.他想生成一个CA证书,mitmproxy将使用该证书来签署mitmproxy为每个SSL站点创建的虚假证书.--cert选项仅允许您提供用于特定域的证书(而不是让mitmproxy动态生成证书).他想要的是--confdir选项,需要生成自己的CA签名证书. (3认同)

cwd*_*cwd 1

使用自定义证书

您可以通过将 --cert 选项传递给 mitmproxy 来使用自己的证书。

证书文件应为 PEM 格式。您可以使用以下说明生成此格式的证书:

openssl genrsa -out cert.key 8192
openssl req -new -x509 -key cert.key -out cert.crt
  (Specify the mitm domain as Common Name, e.g. *.google.com)
cat cert.key cert.crt > cert.pem
mitmproxy --cert=cert.pem
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请访问 MITM 文档该答案是从其中复制的

另请注意,在撰写本文时,建议使用 8192 位证书