Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline aivanofff  
#1 Оставлено : 16 декабря 2011 г. 15:02:38(UTC)
aivanofff

Статус: Новичок

Группы: Участники
Зарегистрирован: 13.12.2011(UTC)
Сообщений: 2
Откуда: Moscow

Здравствуйте,

Установлен КриптоПро CSP 3.6
Имеется USB ключ Aladdin Token JC 0
Устанавливаем связь с внешним сайтом через 444 порт.
Используем для этого пример Ssl\cs\Client2.cs для TLS клиента с двухсторонней аутентификацией.
Соединение устанавливается через прокси MS ISA, для передачи используется TCP proxy Socks4 из библиотеки Starksoft.Net.Proxy.

Код:
ProxyClientFactory factory = new ProxyClientFactory();
var proxy = factory.CreateProxyClient(ProxyType.Socks4);
proxy.ProxyHost = ...
proxy.ProxyPort = ...

TcpClient client = proxy.CreateConnection(machineName, port);

SslStream sslStream = new SslStream( client.GetStream(), false,
                new RemoteCertificateValidationCallback(ValidateServerCertificate),
                null);

sslStream.AuthenticateAsClient(serverName, collection, SslProtocols.Tls, true);


Соединение устанавливается успешно, но на запрос по любому адресу страницы HTTP :

Код:
byte[] messsage = Encoding.UTF8.GetBytes("GET / HTTP/1.1<EOF>");


всегда получаем сообщение HTTP Error 400 Bad request.

Смущает то, что не запрашивается пароль от контейнера. При обычном заходе на сайт с помощью IE пароль от контейнера запрашивается.
Каким образом запросить пароль от контейнера и использовать его в соединении?
Offline Андрей Писарев  
#2 Оставлено : 16 декабря 2011 г. 15:10:35(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,331
Мужчина
Российская Федерация

Сказал «Спасибо»: 550 раз
Поблагодарили: 2210 раз в 1725 постах
Цитата:
Соединение устанавливается успешно, но на запрос по любому адресу страницы HTTP :

Code:
byte[] messsage = Encoding.UTF8.GetBytes("GET / HTTP/1.1<EOF>");


всегда получаем сообщение HTTP Error 400 Bad request.


Цитата:
400 Неверный запрос
Запрос не может быть понят сервером из-за некорректного синтаксиса


а где путь к файлу в запросе GET?
или пытаетесь получить страницу "по умолчанию"...

на примере этой темы:
Цитата:
GET /forum2/Default.aspx?g=posts&t=4123 HTTP/1.1


Отредактировано пользователем 16 декабря 2011 г. 15:17:32(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#3 Оставлено : 16 декабря 2011 г. 15:30:10(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,331
Мужчина
Российская Федерация

Сказал «Спасибо»: 550 раз
Поблагодарили: 2210 раз в 1725 постах
как вариант (если возможно) - отследить и сравнить, что отсылает браузер и вы...







Отредактировано пользователем 16 декабря 2011 г. 15:31:08(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline aivanofff  
#4 Оставлено : 16 декабря 2011 г. 16:02:27(UTC)
aivanofff

Статус: Новичок

Группы: Участники
Зарегистрирован: 13.12.2011(UTC)
Сообщений: 2
Откуда: Moscow

GetBytes("GET / HTTP/1.1<EOF>"); - пример данный в SDK, пробивали и другие страницы.
Так же установили точный URL ресурса куда обращается браузер. Результат одинаковый - HTTP Error 400.
Думаю проблема в том что не запрашивается пароль на контейнер сертификата на флешке Aladdin Token JC 0 - хотелось бы узнать как он должен участвовать в процессе установки соединения. Возможно пример из SDK Client2 не полный.

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.