Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C上使用代理中继HTTPS请求#_C#_Sockets_Ssl_Proxy_Sslstream - Fatal编程技术网

C# 在C上使用代理中继HTTPS请求#

C# 在C上使用代理中继HTTPS请求#,c#,sockets,ssl,proxy,sslstream,C#,Sockets,Ssl,Proxy,Sslstream,我已经在请求头上构建了一个带有一些逻辑的代理 我使用插座。 在任何连接发生之前,在我的代理中我解析头,添加身份验证 并将请求转发到目标主机 现在我偶然发现了以下问题: 我必须转发https请求 我不需要任何身体操作,我只需要以同样的方式修改头部,前向连接到目标,接收答案并返回到源套接字 问题: 代理端是否需要CA? 我是否需要使用SSlStream转发和接收请求 如果是这样,算法可能是什么?SSL握手发生在连接请求及其响应之后。如果您只需要操纵连接请求,您只需在对等方之间握手后转发数据即可,例如

我已经在请求头上构建了一个带有一些逻辑的代理

我使用插座。 在任何连接发生之前,在我的代理中我解析头,添加身份验证 并将请求转发到目标主机

现在我偶然发现了以下问题:

  • 我必须转发https请求
  • 我不需要任何身体操作,我只需要以同样的方式修改头部,前向连接到目标,接收答案并返回到源套接字
  • 问题:

    代理端是否需要CA? 我是否需要使用SSlStream转发和接收请求


    如果是这样,算法可能是什么?

    SSL握手发生在连接请求及其响应之后。如果您只需要操纵连接请求,您只需在对等方之间握手后转发数据即可,例如,无SSL拦截,这意味着无SSLStream和无CA。但是,如果您需要操纵HTTPS连接(GET、POST…)内请求的HTTP头,则必须执行SSL拦截(例如,中间人使用自己的代理CA和SSLStream)。

    我只是向cookies添加值。cookies不在CONNECT请求中发送,CONNECT请求仅用于为SSL建立隧道。cookies在HTTP请求中发送,HTTP请求受SSL保护(使用https的原因之一是保护这些cookies)因此,您需要SSL检查。这意味着:使用您自己的代理CA,它必须受到所有客户端的信任,将到客户端和到服务器的SSL流分开,确保所有信任问题都正确(不容易,请参阅),并且客户端证书将不起作用。对于C代码,请查看squid proxy中的SSL碰撞。