Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2011.05.29;
Скачать: [xml.tar.bz2];

Вниз

Indy + SSL = не могу залогиниться   Найти похожие ветки 

 
CaptainAlex   (2009-03-20 09:58) [0]

Может посоветуете что? Задача - залогиниться на сайт по https. Запрос уходит, а возвращается эта же страница, т.е. логина не происходит. Все dll есть и все что можно вроде бы добавлено и проверено :( Или мне нужно установить сертификат с этого сайта?
Сайты пробовал разные, поведение одинаковое.

Вот такой код есть:

 HTTP := TidHTTP.Create(nil);
 HTTP.AllowCookies := true;
 HTTP.HandleRedirects := true;
 HTTP.Intercept := Form1.IdLogFile1;
 FUseSLL := true;
 if FUseSLL then
 begin
   SSLIO := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);
   HTTP.IOHandler := SSLIO;
   SSLIO.SSLOptions.Method := sslvSSLv3;
   HTTP.Request.BasicAuthentication := true;
   HTTP.ReadTimeout := 40000;
 end;
 Params := TStringList.Create;

 Params.Clear;
 Params.Add(GetLoginParam("Username") + "=" + GetLogin);
 Params.Add(GetLoginParam("Password") + "=" + GetPassword);
 HTML := HTTP.Post(GetLoginParam("PostURL"), Params);

Поля, их значения и URL возвращаются функциями корректно. Для проверки кода можно использовать:

Params.Add(GetLoginParam("login=delphikingdom");
Params.Add(GetLoginParam("password=delphi");
HTML := HTTP.Post("https://www.fotolia.com/Member/Login", Params);


 
Palladin ©   (2009-03-20 10:03) [1]


> Или мне нужно установить сертификат с этого сайта?

именно


 
Медвежонок Пятачок ©   (2009-03-20 10:17) [2]

интересно куда его надо установить, если ссл не работает с виндовыми хранилищами сертификатов .....


 
Palladin ©   (2009-03-20 10:21) [3]

на диск :)


 
Palladin ©   (2009-03-20 10:22) [4]

вообще рекомендую выбросить indy и работать с WinInet


 
CaptainAlex   (2009-03-20 11:36) [5]

Итак, я могу забрать с сайта сертификат *.crt, что мне с ним делать дальше. Indy  же нужен pem, правильно я понимаю? Можно алгоритм действий?

2Palladin
можно пример на WinInet? Я не очень с этим делом знаком.


 
Palladin ©   (2009-03-20 11:59) [6]


> можно пример на WinInet?

пример чего конкретно?


 
Медвежонок Пятачок ©   (2009-03-20 12:15) [7]

Итак, я могу забрать с сайта сертификат *.crt,

сертификат сам прилетает с сайта в ответе на гет или пост клиента.
твоя задача - сказать в обработчике клиента, принимаешь ты его или нет.
сам сертификат никуда пихать не надо.


 
CaptainAlex   (2009-03-20 13:20) [8]

2Palladin

Пример обращения к сайту с использованием SSL в самом простейшем случае. Хочется уяснить как обращаться с сертификатами на клиенте.

2 Медвежонок Пятачок

Где именно нужно этот сертификат отловить? В заголовках про него ничего нет. Нужно ли как-то по-особенному его запрашивать? Если есть пример как это сделать средствами Indy, было бы здорово посмотреть.
Могу выложить лог, который дает TIdLogFile


 
Медвежонок Пятачок ©   (2009-03-20 13:39) [9]

не надо никого ловить.
Пиши обработчик OnverifyPeer и возвращай из него True


 
Palladin ©   (2009-03-20 14:04) [10]

hInet:=InternetOpen("WRWinInet",INTERNET_OPEN_TYPE_PRECONFIG,Nil,Nil,0);
hConn:=InternetConnect(hInet,PChar(p_strHost),INTERNET_DEFAULT_HTTPS_PORT,Nil,Ni l,INTERNET_SERVICE_HTTP,0,1);
hReq:=HttpOpenRequest(hConn,"POST",PChar(p_strDoc),Nil,Nil,Nil,INTERNET_FLAG_SEC URE or INTERNET_FLAG_IGNORE_CERT_CN_INVALID or INTERNET_FLAG_KEEP_CONNECTION,1);
HttpSendRequest(hReq,PChar(strHdrs),Length(strHdrs),PChar(p_strData),Length(p_st rData))


 
CaptainAlex   (2009-03-20 14:24) [11]

Обработчик написал, работает как и прежде :( В остальных обработчиках надо что-то писать?


 
CaptainAlex   (2009-03-20 14:25) [12]

Palladin, спасибо


 
CaptainAlex   (2009-03-20 15:15) [13]

SSLOptions.VerifyMode на что-то влияет в данном случае? у меня там пусто сейчас.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2011.05.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
15-1297338415
Медвежонок ХМЛ
2011-02-10 14:46
2011.05.29
классная фигня :)


15-1297778078
TUser
2011-02-15 16:54
2011.05.29
Лапы и полулапы шкурок яхобаба; Плющилки тракторные; ...


3-1259497210
Sirus
2009-11-29 15:20
2011.05.29
RefreshSQL в ZeosDBO PostgreSQL


2-1297928446
Andrey10
2011-02-17 10:40
2011.05.29
вопрос по бд


15-1297449232
GrayFace
2011-02-11 21:33
2011.05.29
RE: getObject - Баг или фича?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский