为MitmProxy生成根证书

时间:2013-05-20 02:51:33

标签: openssl

您好我为MitmProxy app生成根证书 它位于家乡的4个地方

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)

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

mitmproxy将证书存储在~/.mitmproxy中。我有这些文件:

mitmproxy-ca-cert.cer
mitmproxy-ca-cert.p12
mitmproxy-ca-cert.pem
mitmproxy-ca.pem
mitmproxy-dhparam.pem

你应该尝试更换这些。

答案 2 :(得分:0)

使用自定义证书

您可以将--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

有关详细信息visit the MITM documentation此答案是从复制的。

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

答案 3 :(得分:0)

自定义证书信息可以通过直接编辑mitmproxy python文件来实现,但是你需要先找到那些脚本文件。在我的例子中,那些mitmproxy模块文件在/usr/local/lib/python3.8/站点包/mitmproxy/.

以 mitmproxy v5.3.0 版本为例:

要更改到期组织CN,您可以自定义certs.py中create_store的默认参数:< /p>

@staticmethod
def create_store(path, basename, key_size, organization="some org", cn="some cn", expiry=157680000 ):
    if not os.path.exists(path):

每次要更改证书信息时,请记住先删除证书文件

有兴趣可以找到mitmproxy模块路径:
vi `which mitmproxy`

import mitmproxy
print(mitmproxy.__file__)

mitmproxy