我正在开发一个项目,该项目使用Microsoft .NET服务器来执行对HTTPS / SSL数据的更改。例如,使用浏览器的客户端计算机通过HTTPS / SSL调用服务器B,然后再将请求转发到服务器C,再次使用HTTPS / SSL。响应将通过服务器B从服务器C发送回客户端计算机,但服务器B将在发送之前将一些数据包装到响应中。
我假设响应已加密,服务器B将不得不解密响应,更改数据,加密数据并发送响应。
在.NET中间服务器上听起来有可能吗?密钥会有问题吗?
答案 0 :(得分:2)
答案取决于您是否可以让客户端信任您在中间服务器中使用的证书。如果可以(例如,您控制客户端),则没有问题 - 创建一个新的自签名证书,该证书将具有目标服务器的主机名和该目标主机的有效SSL证书的其他属性,将其放在受信任的根存储上客户端并使中间服务器拦截流量或仅通过中间服务器引导客户端的流量。
在其他情况下,这种改变是不可能的。即关键是使证书值得信赖。