中间人服务器HTTPS/SSL

问题描述:

我正在使用Microsoft .NET服务器执行对HTTPS/SSL数据的更改的项目。例如,使用浏览器的客户机通过HTTPS/SSL调用服务器B,HTTPS/SSL又将请求转发给服务器C,即HTTPS/SSL。响应将通过服务器B从服务器C发送回客户端机器,但服务器B将一些数据包装到响应中,然后再发回。中间人服务器HTTPS/SSL

我假设由于响应被加密,服务器B将不得不解密响应,更改数据,加密数据并发送响应。

这听起来可能在.NET中间服务器上吗?钥匙有问题吗?

+0

这就是所谓的中间人攻击。这听起来可能与.NET服务器。应该没有关键问题,特别是如果客户知道(并接受)服务器B在它和服务器C之间。 – 2011-05-05 23:56:55

+0

欢迎来到SO。您可以通过编辑来更新自己的问题。你可以投票回答问题(upvote或downvote),如果你得到的答案满足你的需求并回答你的问题,你可以将它标记为答案 – 2011-05-06 05:28:58

答案取决于您是否可以让客户端信任您在中间服务器中使用的证书。如果可以(例如,您可以控制客户端),那么没有任何问题 - 创建一个新的自签名证书,该证书具有目标服务器的主机名和该目标主机的有效SSL证书的其他属性,并将其置于受信任的根存储上客户端并让中间服务器拦截流量或通过中间服务器引导客户端的流量。

在其他情况下,这种改变是不可能的。即关键是使证书可信。

+0

只需要注意,这正是[Fiddler](http:// www .fiddler2.com/Fiddler/help/httpsdecryption.asp)拦截并解密线路上的HTTPS流量。 – 2011-05-10 15:28:03