Как узнать, есть ли у сайта SSL-сертификат?

Можно ли запрашивать веб-сайты, чтобы проверить, есть ли у них сертификат SSL или нет? я знаю, что мы можем сделать

Request.IsSecureConnection

но не смог найти, как запросить внешний домен. Я старался

 HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create("something.com");
return webrequest.IsSecureConnection

и это не сработало. Любая помощь будет оценена.


person Kuzgun    schedule 03.12.2013    source источник
comment
попробуйте подключиться к https://something.com.   -  person Daniel A. White    schedule 03.12.2013
comment
если они используют ssl, у них должен быть сертификат. действителен ли этот сертификат или нет, это другой вопрос.   -  person Marc B    schedule 03.12.2013
comment
Но я уже спрашивал, как проверить SSL-сертификат? Если вы находите это запутанным, пожалуйста, отредактируйте заголовок   -  person Kuzgun    schedule 04.12.2013
comment
@DanielA.White Я тоже так пробовал, но метод IsSecureConnection не отображается, когда я использую веб-запрос, независимо от адреса. Он работает только с HttpContext.Current.Request   -  person Kuzgun    schedule 04.12.2013


Ответы (1)


Простой способ проверить, принимают ли они соединения через безопасный порт 443. Это не доказывает, что у них есть действующий SSL-сертификат, но это только начало.

Вот пример кода:

try 
{
    var client = new TcpClient();
    client.Connect("something.com", 443);
    Console.WriteLine("SSL found");
} 
catch (SocketException)
{
    Console.WriteLine("SSL not found");
}
person pattermeister    schedule 03.12.2013