|
|
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
Не знаю, в эту ли тему... На Vs 2010 создан простой сайт (asp.net vb). Публикуется по 2м протоколам - http и https. К https (при публикации в IIS привязан самоподписывающийся сертификат). Вопрос: как в коде определить, что: 1. обращение к сайту идет через https (это вроде не сложно, можно анализ адресной строки сделать) 2. основное - если через https, то включил ли пользователь доверие к сертификату в своем обозревателе (установил в довереные корневые), а не просто нажал "продолжить", когда было предупреждение о входе на сайт с недоверенным сертификатом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 17:56 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
GuSoft, 1. сами ответили. 2. если речь идет о серверном , то да. Если при валидации возникнут ошибки то получите исключение SSL. Вообще этим поведением занимается ServicePointManager.ServerCertificateValidationCallback = ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 18:20 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
netivan, спасибо за ответ. >> 2. если речь идет о серверном , то да. Если при валидации возникнут ошибки то получите исключение SSL. Вообще этим поведением занимается ServicePointManager.ServerCertificateValidationCallback = можно по подробнее? >> получите исключение SSL это на каком этапе? пользователь входит на сайт, там его принудильно перебрасывает на https ну или например надо нажать кнопку "вход" (для прохождения стандартной процедуры логин\пароль). на эту страницу он попадает (рассматриваем действия в IE) либо если нажал "продолжить", при сообщении, что сертификат сервера не валидный, либо открыл сертификат на просмотр, нажал "установить" и установил в хранилище корневых сертификатов. Сертификат выпущен через IIS для сайта сроком на 1 год, имя совпадает с названием сайта. Соответственно, когда мы попали на эту страничку с логином, надо определить, является ли соединение довереным (зашифровано, сверху в IE зеленая адресная строчка и замок) или там горит красный щит (не зашифровано и логин\пароль отправляется на сайт в открытом виде). Вот что интересует. В Opera и FF сертификат в довернеые не ставится, но там можно на время сеанса доверие включить. Как в этом случае быть? Но это позже, пока интересует только вход через IE и правильная реакция сайта, который, если соединение через https идет, но не зашифровано - не даст юзверю логин\пароль ввести, а скажет что надо сертификат поставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 11:24 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
GuSoft, что-то я запутался, вы делаете web приложение? в них я не силен. Что именно вы хотите? Если просто, чтобы пользователь работал по https (не имея ввиду клиентский сертификат), то достаточно редиректа скорее всего. А заставить пользователя установить сертификат в доверенные вы вряд ли сможете. Если вам нужен клиентский сертификат, то это все настраивается на уровне IIS. Про ошибку SSL я писал, полагая что вы делаете HttpWebRequest. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 13:04 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
GuSoft, да, я невнимательно прочитал. Веб приложению на стороне клиента вряд ли получить доступ к хранилищу сертификатов, чтобы понять доверен он или нет. Остальное поведение возлагается на пользователя, грубо говоря он сам принимает решение доверять вашему или нет.Как вариант - купить сертификат у фирмы, которые обычно установлены по умолчанию как доверенные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 13:08 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
netivan, :) я бы не заморачивался, если бы можно было бы купить сертификат (котрый кстати ограничен по времени и немало стоит). тогда проще если деньги есть прогеров нанять грамотных, чтобы двиг сайта написали. меня интересует в частности: если сертификат не установлен и связь идет через https, я так понимаю - шифрование не производится. вот это где то можно выяснить - включено оно или нет? Наверняка же где то можно. и в свойствах соединения что то должно менятся... Если как предложил bazile - использовать ' Check whether the request is sent ' over HTTPS. If not, do not return ' content to the client. If (Request.IsSecureConnection = False) Then Response.SuppressContent = True End If то тут идет просто проверка http или https, а включение шифрования не учитывается. Это и так можно сделать, принудительно пуская все соединения с http на https через tmg 2010, который стоит перед IIS. еще идеи есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 13:25 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
GuSoftесли сертификат не установлен и связь идет через https, я так понимаю - шифрование не производится. Неправильно понимаешь. Шифрование будет всегда. То что IE подсвечивает строку адреса красным цветом это напоминание пользователю о проблеме с сертификатом, а не отсутствии шифрования. GuSoft2. основное - если через https, то включил ли пользователь доверие к сертификату в своем обозревателе (установил в довереные корневые), а не просто нажал "продолжить", когда было предупреждение о входе на сайт с недоверенным сертификатом? Еще раз - никак. И более того в этом нет никакого смысла. GuSoftЕсли как предложил bazile - использовать ' Check whether the request is sent ' over HTTPS. If not, do not return ' content to the client. If (Request.IsSecureConnection = False) Then Response.SuppressContent = True End If Я предлагал использовать свойство Request.IsSecureConnection, а не дурацкий код из примера. Вместо Response.SuppressContent = True логичнее сделать редирект на https версию страницы. Что тебе нужно сделать так это отдавать страницу логина только через https - настройками IIS или кодом, не важно. GuSoftкотрый кстати ограничен по времени и немало стоит 249 $ за год не тянет на определение "немало стоит". Можно найти и дешевле. При этом он защищает тебя от атак вида man-in-the-middle. Модератор: Тема перенесена из форума "WinForms, .Net Framework". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 14:11 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
bazile, >> 249 $ за год считаю что это много очень (во всяком случае для меня, каждый год по 250 грин отстегивать + проценты на перевод денег). а если учесть, что есть openssl - то это прямое выколачивание денег, думаю проще пользователям нужным сертификат разослать свой, чем покупать (это касаемо небольших домашних сайтов, про крупные конторы молчу, им для солидности надо, хотя смысл один). >>Шифрование будет всегда Вот хочется уточнить, какое. Почему в таком случае, при входе например черз Хром или FF сверху пишется (когда сертификат не ставишь, а принимаешь просто) что соединение - незашифровано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 14:37 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
GuSoftдумаю проще пользователям нужным сертификат разослать свой, чем покупать (это касаемо небольших домашних сайтов, про крупные конторы молчу, им для солидности надо, хотя смысл один). Дело не в солидности, а в степени защищенности. Задача SSL установить доверенное соединение с сервером. Это не тоже что самое, что шифрованное соединение. Self-signed сертификат дает только второе, но не первое т.к. существует возможность атаки с подменой сертификата - man-in-the-middle атака. GuSoftВот хочется уточнить, какое. Почему в таком случае, при входе например черз Хром или FF сверху пишется (когда сертификат не ставишь, а принимаешь просто) что соединение - незашифровано? Так и пишет? Скриншот можно? Для FF приведи также скриншот раздела Security из Page Info. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 14:52 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
bazile, упс, давно я последние версии не видел др. обозревателей кроме IE, ща вот поставил, помню что писали чтото подобное, а ща да, вроде пишут, что шифрование поддерживается, только вот опера пишет "незащищенное соединение". http://i30.fastpic.ru/big/2012/0327/f1/05d3da96913ef71411e0ef0e102385f1.jpeg воощем что-то начинает прояснятся. спасибо за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 15:38 |
|
||
|
Проверить https
|
|||
|---|---|---|---|
|
#18+
GuSoftтолько вот опера пишет "незащищенное соединение". Незащищенное не значит незашифрованное. Скорее всего имеется в виду untrusted connection. Не забывай что эти сообщения предназначены для обычных пользователей которые не обязаны вникать в технические детали реализации TSL/SSL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 15:50 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37725409&tid=1359776]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 507ms |

| 0 / 0 |
