Instalacja protokołu SSL na serwerze – błąd łączenia za pomocą TIdHTTP

0

Witam, Po zainstalowaniu protokołu ssl na serwerze z którym łączy się aplikacja za pomocą komponentu TIdHTTP wywala taki błąd:

---------------------------
Debugger Exception Notification
---------------------------
Project Project.exe raised exception class EIdIOHandlerPropInvalid with message 'IOHandler value is not valid'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------

Zmiana protokołu z 80 na 443 oraz zmianie nagłówka z http na https nie pomaga.
Co jeszcze należy zmienić aby można było nawiązać połączenie (aplikacja łączy się z plikiem php który zwraca aktualną datę)

1

Musisz dodać do projektu libeay32.dll i ssleay32.dll

0

skąd je najlepiej pobrać ??

0

Dodam, że oprócz samych bibliotek, które powinieneś umieścić w folderze z programem trzeba jeszcze dodać komponent TIdSSLIOHandlerSocketOpenSSL i ustawić go jako IOHandler w właściwościach TIdHTTP.

0
kAzek napisał(a):

Dodam, że oprócz samych bibliotek, które powinieneś umieścić w folderze z programem trzeba jeszcze dodać komponent TIdSSLIOHandlerSocketOpenSSL i ustawić go jako IOHandler w właściwościach TIdHTTP.

Nie trzeba. Przynajmniej w Lazarusie i Indy 10

0

@kamil przeczytałeś komunikat wyjątku? Gdyby chodziło tylko o brak bibliotek byłoby coś w stylu Could not load SSL library.

0

Dalej ten sam problem, nie wiem czy samo Indy 9 nie jest problemem ?

0

Co jeszcze trzeba zrobić przy takich komunikatach?

---------------------------
ProjectSystemTatrak.exe - Nie znaleziono porządkowej
---------------------------
Nie znaleziono porządkowej 4369 w bibliotece dołączanej dynamicznie C:\Program Files (x86)\Intel\iCLS Client\ssleay32.dll. 
---------------------------
OK   
---------------------------


---------------------------
Debugger Exception Notification
---------------------------
Project ProjectSystemTatrak.exe raised exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library.'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------
0

Właściwe biblioteki znalezione (prawdopodobnie bo nich wywala już o nich błędu) ,ale powstał problem z Socket. ?

---------------------------
Debugger Exception Notification
---------------------------
Project ProjectSystemTatrak.exe raised exception class EIdSocketError with message 'Socket Error # 0
'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------
0

Tu nikt nie pomoże. Szklana kula mi się stłukła a Ty nie podałeś kodu, nie wiadomo nawet z jakim serwerem próbujesz się połączyć. W ogóle to zmień na Indy 10, 9 to zabytek z przed dobrych kilkunastu lat.
Tu masz jak zmienić Indy 9 na 10 w Delphi 7 Zainstalowanie Indy 10 na Delphi 7 PE

0

OK to instaluję 10, dzięki za dotychczasową pomoc.

0
kAzek napisał(a):

Tu nikt nie pomoże. Szklana kula mi się stłukła a Ty nie podałeś kodu, nie wiadomo nawet z jakim serwerem próbujesz się połączyć. W ogóle to zmień na Indy 10, 9 to zabytek z przed dobrych kilkunastu lat.
Tu masz jak zmienić Indy 9 na 10 w Delphi 7 Zainstalowanie Indy 10 na Delphi 7 PE

Czy kAzek może pomóc? przy instalacji indy10 ze wskazanego źródła przy kompilowaniu IndyCoreX0.dpk (in Lib\Core) i dalszych punktach wywala błąd jak poniżej w załączniku.

1

TIdIPVersion zdefiniowane jest w module IdGlobal a on jest w uses IdURI więc kompilator powinien wiedzieć co to. Według mnie możliwe przyczyny błędu to po pierwsze zła kolejność kompilacji trzeba kompilować w kolejności, którą podałem lub co bardziej prawdopodobne przed kompilacją nie dodałeś ścieżek o których pisałem do Library path. Możliwe też, że nie usunąłeś plików ze starego Indy 9 z folderu %DELPHI%\Lib i kompilator odnosi się do starego IdGlobal.dcu. Jak zrobisz wszystko jak tam napisałem to raczej będzie w porządku ale jak coś to pisz.

0

Nie usunąłem wszystkich plików Id*.dcu - i tu był problem.
Dzięki, pozdrawiam.

0

Mam biblioteki libeay32.dll i ssleay32.dll ściągnięte przez wskazane przez kAzka źródła (http://indy.fulgan.com/ZIP/) i taki komunikat

---------------------------
Debugger Exception Notification
---------------------------
Project ProjectSystemTatrak.exe raised exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library.'. Process stopped. Use Step or Run to continue.

Gdzie szukać błędu?

1

Pobierz stąd http://indy.fulgan.com/SSL/
i pamiętaj żeby dla 32 bitowej aplikacji pobrać 32 bitowe dll.

0

Trzeba dobrać odpowiednie DLL do wersji Indy jak najnowsze które działają.

1 użytkowników online, w tym zalogowanych: 0, gości: 1