Рассмотрим следующую функцию:Почему заголовок и тело не шифруются при использовании HTTPS-запросов HttpClient?
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! Самозаверяющий сертификат.
Так это означает, что любой, кто Снайпс может легко расшифровать его, а? –
Fiddler может перехватывать зашифрованный трафик только в том случае, если вы создали как Fiddler, так и ваш браузер [особый путь] (https://www.fiddlerbook.com/fiddler/help/httpsdecryption.asp). Обычно заголовок и тело не могут быть перехвачены. –
@J. Doe No. Что происходит, Fiddler устанавливает сертификаты на вашем компьютере и делает Man in Middle proxy connection (вы получите запрос, чтобы разрешить его). Затем он делает запрос HTTPS от вашего имени, используя его сертификат. Затем он может расшифровать HTTPS-запросы. Кто-то без этого сертификата не сможет его расшифровать. – squillman