2017-02-19 68 views
0

考虑以下功能:为什么在使用HttpClient HTTPS请求时标头和主体未加密?

private string ServerUrl = "https://api.myserver.com"; 

public async Task<T> PostRequest<T>(string hook, HttpContent content) 
{ 
    try 
    { 
     var response = await http.PostAsync(ServerUrl + hook, content); 
     var contentString = await response.Content.ReadAsStringAsync(); 

     return Serializer.ToJsonObject<T>(contentString); 
    } 
    catch 
    { 
     return default(T); 
    } 
} 

现在它工作正常,但我正在请求HTTPS不应标题和正文加密?

我用Fiddler v4来检查事情,事实并非如此。

有什么我失踪或不太明白,应该如何工作?

我的服务器使用LetsEncrypt!自签名证书。

回答

1

提示可以在UI显示给用户之前解密内容。你有这个设置吗?

enter image description here

+0

因此,这意味着,任何人谁斯奈普斯它可以很容易地将其解密呢? –

+1

如果您已经设置了Fiddler和浏览器[一种特殊方式](https://www.fiddlerbook.com/fiddler/help/httpsdecryption.asp),则提琴手只能拦截加密流量。通常情况下,标题和正文不能被拦截。 –

+2

@J。 Doe No. Fiddler会在您的机器上安装证书,并在中间代理连接中执行Man(会提示您允许)。然后它使用其证书代表您的HTTPS请求。它可以解密HTTPS请求。没有该证书的人将无法解密该证书。 – squillman

相关问题