В приложении .NET 2.0 Forms я использую WebClient для связи с веб-сервером через SSL. В сообщении пароль отправляется на сервер в параметрах HTTP GET или POST (это означает, что он помещен в WebClient.QueryString).Как использовать SSL при использовании WebClient?
Следует избегать передачи пароля в открытом виде (очевидно). Прямо сейчас, и то, что я сделал до сих пор, это предположить, что просто убедившись, что аргумент URI для различных функций, служба WebClient начинается с «https: //» достаточно:
// 'path' is something like "www.example.com/example.php"
var uri = new Uri(string.Format("https://{0}", path));
webCl.QueryString = new NameValueCollection();
webCl.QueryString.Add("passwd", "my_password");
var reply = webCl.DownloadString(uri);
Но я не уверен. Достаточно ли этого, чтобы гарантировать, что никакая чистая передача параметров GET или POST (для UploadString()
) не происходит, если соединение не зашифровано? Мое предположение заключается в том, что передача параметров HTTP не произойдет, если квитирование SSL не удастся, и что квитирование SSL может быть выполнено только в том случае, если шифрование включено.