Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Synapse SLL, проблема сертификатов 
V
    Опции темы
Stern87
Дата 4.5.2008, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Хочу с помощью моей программы авторизоваться на eBay.
Использую компоненты Synapse. в uses указываю: 
Код
blcksock, httpsend, ssl_openssl

При авторизации (отправка формы методом POST на https://signin.ebay.com/ws/eBayISAPI.dll?co...&UsingSSL=1 ) программа зависает и в течении минуты возбуждает исключение EOutOfMemory.
Погуглив подумал, что надо указывать сертификаты:
Код

var HTTP: THTTPSend;
...
HTTP.Sock.SSL.CertificateFile := 'cacert.pem';
HTTP.Sock.SSL.PrivateKeyFile := 'privkey.pem';
HTTP.Sock.SSL.CertCAFile := 'ca.crt';

Но это не решило проблему - программа зависает как и ранее.
Может я неправильно создал ключи или сертификаты? Но я действовал так же как указано в этой статье http://webscript.ru/print/04/05/29/2604693
а также руководствовался этим HOW-TO: http://www.openssl.org/docs/HOWTO/

С помощью локального прокси Proxomitron - всё получается, а вот без него - никак.

Помогите мне, пожалуйста, пройти эту авторизацию. Я уже очень долго над ней бъюсь(((
Хочу своей программой следить за своим аккаунтом.
Спасибо за любую подсказку.
Очень хочется видеть рабочие куски кода (если на них вы будете ссылаться).
Еще раз спасибо!

Это сообщение отредактировал(а) Stern87 - 4.5.2008, 23:03
PM WWW ICQ Skype   Вверх
Stern87
Дата 5.5.2008, 04:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Просто поразительно, но проблема вызвана тем, что при создании HTTP я задавал ему параметр 
Код
HTTP.Protocol := '1.1';

Однако после того, как я закомментировал эту строку - всё заработало и без всяких сертификатов!

Может ли кто-то это объяснить? Хотелось бы знать.
PM WWW ICQ Skype   Вверх
Stern87
Дата 5.5.2008, 05:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Извиняюсь, таки нет.
Зависаний избежал, а вот пройти авторизацию всё равно не удаётся - возвращает на страницу входа smile 

Прошу помощи.
Может действительно необходимо при себе держать сертификаты?
Только как их правильно создавать и прописывать? Статей в инете много, но я не нашёл ни одной где бы все повторяемые действия проходили гладко.
С драйверами hands.sys всё нормально.
Может ли кто-то создать за меня ключи и сертификаты? У меня ничего не получается.

Спасибо.

Это сообщение отредактировал(а) Stern87 - 5.5.2008, 06:04
PM WWW ICQ Skype   Вверх
Snowy
Дата 5.5.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Сертификаты нужны только для серверной части.
Клиенту он не нужен - он берёт его у сервера.
PM MAIL   Вверх
Stern87
Дата 5.5.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Проблема решилась тем, что был написан и отлажен собственный куки-контейнер (в отличии от того, что используется в Synapse).

Всем спасибо.
PM WWW ICQ Skype   Вверх
Gedd
Дата 7.7.2009, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



 Если вдруг вам не жалко будет кусочка кода с залогиниваньем , благодарности моей не будет предела..  

    Тоже пробую это провернуть и тоже с помощью компонентов synapse. У меня все еще хуже вашего: в на запрос Post все время приходит сообщение Moved Temporarily. При переходе на страницу, указанную в Location и посылке полученных кукисов -опять то же сообщение с тем же location и с формированием тех же кукисов.

P.S. Вопрос снимается. Реализовала авторизацию без всяких дополнительніх куки-контейнеров, посредствои методов synapse.

Это сообщение отредактировал(а) Gedd - 8.7.2009, 08:01
PM   Вверх
Бобр70
Дата 22.7.2009, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.7.2009

Репутация: нет
Всего: нет



А у меня "ответные данные" содержат ссылку со словами "Object moved to"
Я подозреваю что хоть я и указал в запросе корректные FUsername и FPassword но они не восприняты...
Очень хочется узнать какие ещё методы synapse нужны?
В моей программе сейчас банально стоит HttpGetText который вызывает HTTPMethod('GET', ...
PM MAIL   Вверх
Gedd
Дата 22.7.2009, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



Цитата

Я подозреваю что хоть я и указал в запросе корректные FUsername и FPassword но они не восприняты...
Очень хочется узнать какие ещё методы synapse нужны?

У меня процедурка корректно проходит авторизацию в таком порядке: сначала метод Get обращаемся к страничке с авторизацией(в ответ получаем необходимые кукисы), дальше шлем Post в форму авторизации.
Код

Result := HTTP.HTTPMethod('Get', log); //Получение кукисов

  HTTP.Clear;

  HTTP.Document.Write(Pointer( logstr )^, Length( logstr ));
 HTTP.Headers.Add( 'Accept: text/html' );
 HTTP.MimeType := 'application/x-www-form-urlencoded';

  Result:=HTTP.HTTPMethod( 'POST', log2);  //Авторизвция на сайте   



M
THandle
Модератор: используйте подсветку кода!

PM   Вверх
Бобр70
Дата 22.7.2009, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.7.2009

Репутация: нет
Всего: нет



Мысль понял. Спасибо. Попробую завтра начать с прямой авторизации.
Я примерно в этом направлении и подозревал, но и не думал пробовать вот по какой причине.
Мы сидим за прокси и я наблюдаю вот какой эффект: если кто то уже с сайтом работает, то я в opere захожу на страницу авторизации а она уже состоялась. А могу и сразу набрать url эффективного запроса и будет правильный ответ. 
И только мои попытки использовать synapse не дают результата.
PM MAIL   Вверх
Бобр70
Дата 23.7.2009, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.7.2009

Репутация: нет
Всего: нет



посмотрел HTTP.Headers и HTTP.Cookies. единственная строка cookies:

ASP.NET_SessionId=mecnaw45ttzzyvno11w5t1zh

интересно - это оказался лично мой сеанс, а не один на ip-адрес
 
сейчас попробую в HTTP.Document внести значения имени и пароля

Это сообщение отредактировал(а) Бобр70 - 23.7.2009, 11:09
PM MAIL   Вверх
Бобр70
Дата 23.7.2009, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.7.2009

Репутация: нет
Всего: нет



внёс в HTTP.Document значения имени и пароля в соответствующие строки

только убрал HTTP.Clear

послал HTTP.HTTPMethod( 'POST', 

и вот какой ответ 

<h1>Bad Request (Invalid Header Name)</h1>

если есть HTTP.Clear, то возвращает сообщение о некорректной длине...

заголовок выглядит так: 

Код

HTTP/1.1 200 OK
Connection: close
Date: Thu, 23 Jul 2009 08:06:16 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Set-Cookie: ASP.NET_SessionId=gxrnysy0m55eci45gl00qvex; path=/; HttpOnly
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 8283

PM MAIL   Вверх
Gedd
Дата 23.7.2009, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



HTTP.clear - это принципиально. Без него у меня тоже был bad request. 

PM   Вверх
Бобр70
Дата 23.7.2009, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.7.2009

Репутация: нет
Всего: нет



xnj то не то... 
вот чтот сделано после HTTPMethod('Get', стартовая страница) 
Код

    HTTP.clear;
    logstr:='login = user1';
    HTTP.Document.Write(Pointer( logstr )^, Length( logstr ));
    logstr:='password = 1234567890';
    HTTP.Document.Write(Pointer( logstr )^, Length( logstr ));
    HTTP.MimeType := 'application/x-www-form-urlencoded';
    HTTP.Headers.Add( 'Accept: text/html' );

    if not HTTP.HTTPMethod( 'post', стартовая страница)

ответ 
<h1>Bad Request (Invalid Header Name)</h1>
было бы более очевидно если бы был у Synapse метод HTTPMethod('SendPassword', 
а то сейчас где то лежит пароль, делаем Post и надеемся что сработает

я кстати сделал для себя банальную, но наглядную процедуру для инициализации SynapseHTTP
procedure SetConfig(ProxyHost, ProxyPort, ProxyUser, ProxyPass, User, Pass: String);
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1005 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.