您好我为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)
答案 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