上游代理和 CA 配置

问题描述

我尝试将 mitmproxy 配置为与另一个域中的上游代理一起使用。

更明确地说,我有一个拥有自己域(例如 mydomain.com)的平台,要访问互联网,我也需要通过我的公司代理使用自己的域(例如 company.com)。

我为 mitmproxy 生成证书,我有 CA 和用于生成证书的密钥。我将它们重命名为 mitmproxy-ca.pem (key + ca) 和 mitmproxy-ca-cert.pem (certificate) 并将它们放入 .mitmproxy 文件夹中。即使我没有设法完全测试,它似乎也能正常工作。

但对于上游代理 ssl 配置,我将公司 CA 放入 .mitmproxy 文件夹并将其命名为 (mycompany-ca.pem)。我配置了 config.yaml 文件:ssl_verify_upstream_trusted_ca: "/home/mitmproxy/.mitmproxy/mycompany-ca.pem"。

但是当我尝试使用 mitproxy 卷曲 https://www.google.com 时,我遇到了这个错误

W.X.Y.Z:57370: client connect
W.X.Y.Z:57370: server connect proxy.mycompany.com (A.B.C.D:8080)
W.X.Y.Z:57370: Server TLS handshake Failed. Certificate verify Failed: unable to get local issuer certificate
W.X.Y.Z:57370: GET https://www.google.com/ HTTP/2.0
 << Certificate verify Failed: unable to get local issuer certificate
W.X.Y.Z:57370: server disconnect proxy.mycompany.com (A.B.C.D:8080)
W.X.Y.Z:57370: client disconnect

当我将我的公司代理用于浏览器时,我可以看到证书主题是 google,但颁发者是我的公司代理信息。

此外,公司代理 CA 只是一个没有任何密钥的证书(似乎很正常),我使用 docker 的 mitmproxy。 当然,当我使用 --ssl_insecure 选项时,它可以工作,但我不想(不允许)绕过上游代理证书验证。

您知道如何配置上游 SSL 证书控制吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...