Obsługa HTTPS za pomocą INDY

problemy z tworzeniem programów do obsługi sieci, internetu, e-mail itp..

Re: Obsługa HTTPS za pomocą INDY

Nowy postprzez Cyfrowy Baron » niedziela, 26 października 2008, 18:54

Oczywiście, że do wyświetlenia strony nie potrzebujesz certyfikatu, gdyż znajduje się on w serwisie, na którym ta strona się znajduje. Przeglądarka po prostu sprawdza czy znajduje się tam taki certyfikat i wyświetla taką zieloną ikonkę informującą, że jest strona jest szyfrowana. Korzystając z protokołu SSL możesz sobie wyświetlić taką stroną, ale nie kod źródłowy strony, gdyż do podejrzenia kodu strony niezbędny jest kod szyfrujący, do którego nie masz dostępu i nikt go tobie nie udostępni.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4731
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 445
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Obsługa HTTPS za pomocą INDY

Nowy postprzez Miroo_007 » niedziela, 26 października 2008, 19:07

Więc jak mogę to obejść. Jakie biblioteki wykorzystać aby wyświetlić kod źródłowy strony, albo zrobić tak aby treść strony wgrać do TStringList (ale to wydaje mi się za zbyt banalne). Wiem, że są programy które obsługują zaszyfrowane strony https korzystając z bibliotek Internet Explorera (zapewne z WinInet). Mogą one łączyć się z taką stroną i pobierać dowolne dane i nie sądzę aby autorzy tych programów mieli dostęp do tych certyfikatów. Musi istnieć jakieś wyjście z tej sytuacji.
Avatar użytkownika
Miroo_007
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): sobota, 18 października 2008, 10:49
Lokalizacja: Rzeszów
Podziękował : 0
Otrzymał podziękowań: 0
    NieznanyNieznana

Re: Obsługa HTTPS za pomocą INDY

Nowy postprzez Cyfrowy Baron » niedziela, 26 października 2008, 19:58

Chyba nie pojmuję o co tobie chodzi. Protokół HTTPS w połączeniu z technologią SSL został stworzony właśnie po to żeby szyfrować strony, tak by nie można ich było podejrzeć bez klucza.

Pod tym adresem: http://www.securitystandard.pl/news/107 ... m.SSL.html znajdziesz artykuł na ten temat. Jest tam miedzy innymi taka informacja:

Powód dla którego uwierzytelnienia się tylko serwer jest bardzo prosty i pragmatyczny - uwierzytelnienie klienta certyfikatem X.509 wymaga posiadania certyfikatu. A ten przywiązuje klienta albo do konkretnego komputera albo do karty elektronicznej - a ta z kolei wymaga czytnika i sterowników. Hasło i login nadal są najłatwiej przenośnym i najbardziej uniwersalnym mechanizmem uwierzytelnienia - a ludzkie oczy i palce to interfejs, który ma każdy "pecet".



Poza ochroną przed podsłuchiwaczami zadaniem SSL/TLS jest przede wszystkim zapewnienie klienta, że łączy się z tym serwerem, z którym rzeczywiście chciał się połączyć. Po to właśnie operator serwera kupuje certyfikat X.509 w zaufanej firmie - centrum certyfikacji - takiej jak Thawte, Verisign i inne. Firma gwarantuje klientowi, że łącząc się przez SSL z serwerem https://moj.multibank.pl/ łączy się faktycznie z serwerem, który ma prawo posługiwać się tą nazwą (a nie fałszywką, podstawioną nam w wyniku ARP spoofingu lub DNS cache spoofingu). Oraz że serwis ten należy do "BRE Bank SA" z Łodzi (pole Subject certyfikatu) a nie cwaniaka, który zarejestrował tę domenę na fałszywy dowód osobisty.


Poczytaj, a zrozumiesz...
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4731
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 445
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Obsługa HTTPS za pomocą INDY

Nowy postprzez Darek_C++ » poniedziałek, 27 października 2008, 11:07

Miroo_007 napisał(a):Więc jak mogę to obejść. Jakie biblioteki wykorzystać ...
Jakiś dziwny jesteś! Pytasz się: "Więc jak mogę to obejść. Jakie biblioteki wykorzystać..." po czym sam sobie odpowiadasz: "zapewne z WinInet". Wiec na czym polega Twój problem ? Nawet podałem link do PDF'a gdzie jest opis ja to zrobić.

Czekasz na gotowe rozwiązania czy co ?
Avatar użytkownika
Darek_C++
Elektrowied
Elektrowied
 
Posty: 454
Dołączył(a): piątek, 25 lipca 2008, 14:33
Podziękował : 66
Otrzymał podziękowań: 4
System operacyjny: Windows XP Pro SP2
Kompilator: Turbo Explorer C++
Gadu Gadu: 0
    NieznanyNieznana

Re: Obsługa HTTPS za pomocą INDY

Nowy postprzez Witold » poniedziałek, 27 października 2008, 11:49

Dla BCB6/Indy8 "działa" coś takiego:
Kod: Zaznacz cały
#include <IdSSLOpenSSL.hpp>
#include <IdHTTP.hpp>
#include <IdSSLOpenSSLHeaders.hpp>

void __fastcall TForm1::btn1Click(TObject *Sender)
{
    TIdHTTP * http = NULL;
    TIdConnectionInterceptOpenSSL * ciossl = NULL;
    try
    {
        http = new TIdHTTP(NULL);
        ciossl = new TIdConnectionInterceptOpenSSL(NULL);

        //  http->HandleRedirects = true;
        AnsiString adres("https://addons.mozilla.org/pl/firefox/");

        ciossl->SSLOptions->Method = sslvSSLv23; //sslvSSLv2;
        ciossl->SSLOptions->Mode = sslmClient; // sslmUnassigned;
        http->Intercept = ciossl;

        Memo1->Text = http->Get(adres);
    }
    __finally
    {
        delete http;
        delete ciossl;
    }
}

Tyle że to zlepek z informacji z kilku miejsc, więc trzeba by nad nim popracować.

http://forum.ks-ekspert.pl/index.php?sh ... =sslvSSLv2
http://www.delphi-si.com/forum/prikazis ... &mesto=def
http://pl.wikipedia.org/wiki/SSL
openssl dll: http://www.indyproject.org/Sockets/SSL.EN.aspx
Ostatnio edytowano czwartek, 13 listopada 2008, 01:30 przez Witold, łącznie edytowano 1 raz
Avatar użytkownika
Witold
Konstrukcjonista
Konstrukcjonista
 
Posty: 223
Dołączył(a): piątek, 29 sierpnia 2008, 10:53
Podziękował : 1
Otrzymał podziękowań: 14
Kompilator: bcb6, Turbo C++ Explorer
    NieznanyNieznana

Re: Obsługa HTTPS za pomocą INDY

Nowy postprzez Miroo_007 » poniedziałek, 27 października 2008, 23:27

Darek_C++: Za link do PDF wielkie dzięki, choć dopiero teraz przeczytałem ten fragment książki :( . Nie szukam gotowego rozwiązania tylko nakierowania mnie na właściwy temat.
Użyłem zdania "zapewne z WinInet" w formie przypuszczającej, tak więc łączy się to z całym kontekstem mojego zdania.
Avatar użytkownika
Miroo_007
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): sobota, 18 października 2008, 10:49
Lokalizacja: Rzeszów
Podziękował : 0
Otrzymał podziękowań: 0
    NieznanyNieznana

Poprzednia strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Aplikacje sieciowe

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość

cron