我正在尝试查看某个应用程序如何与SSL中的服务器通信.基本上,当它声称已完成一些SSL通信时,该过程就会挂起.我想通过捕获流量来调试问题,但我不能真正使用嗅探器,因为SSL可能看起来像一个hexdump.
有没有一个好的中间人工具可以作为仪器使用?我只需要能够向我显示解密通信的内容.希望很容易设置.我甚至可以将应用程序指向我的机器可用的任何IP地址/端口(例如localhost:8888),因此代理可以.此外,我可以配置应用程序接受任何证书.
你用什么来模拟中间人(mitm)SSL攻击?
更新:我尝试了小提琴,无法让它工作.我安装了openssl并输入以下命令:
openssl s_client -connect smtp.gmail.com:465
Gmail会使用他们的证书进行回复220 mx.google.com ESMTP ...
.但是,Fiddler没有捕获流量.我将fiddler中的WinINET选项设置为"对所有协议使用相同的代理服务器".任何人都可以让这个工作(或不工作)?我想我需要找到一种让openssl使用代理的方法.
我运行本地开发Web服务器来测试代码更改.
通常,我必须使用只能安全连接到另一个域的远程服务来测试我的本地更改.
例如,https://external1.com
只会https://someOtherDomain.com
与之交谈,但我必须测试我的新代码更改的集成https://external1.com
虽然我已经配置了一个有效的设置,但它似乎很复杂,并且需要一点时间才能正确设置.在我看来,很多开发人员都想做同样的事情,所以我的问题是:
是否有一种简单的方法可以将我的本地网络服务器代理为https://someOtherDomain.com?
这是我目前使用本地网络服务器并提供服务的设置 https://www.someOtherDomain.com
为了在本地测试,我一直在:
编辑我的主机文件,并添加一个条目,使www.someOtherDomain.com指向我的本地机器,当然这是运行我的开发服务器.这使得我的本地站点现在可用http://www.someOtherDomain.com
127.0.0.1 www.someOtherDomain.com
使用SSL证书设置和mod_proxy运行Apache,将所有https请求重定向到我的本地http服务器,从而使我的站点可用https://www.someOtherDomain.com
.这是我的Apache配置:
ServerName www.someOtherDomain.com
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
<Proxy balancer://mycluster>
BalancerMember http://localhost route=1
</Proxy>
ProxyPass / balancer://mycluster
ProxyPassReverse / balancer://mycluster
SSLHonorCipherOrder On
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite RC4-SHA:HIGH:!ADH
# Rewrite all http requests to https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule …
Run Code Online (Sandbox Code Playgroud)我有一些Java应用程序抱怨不同的SSL问题,如自签名证书或不受信任的证书.
由于我没有这些应用程序的代码并且获得良好的证书太难了,我正在寻找一种可以让我强制连接的解决方案.
到目前为止,我尝试过这些,但似乎还不够:
-Dcom.sun.net.ssl.checkRevocation=false
-Djava.security.debug=certpath
Run Code Online (Sandbox Code Playgroud)
我仍然看到:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target