Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TRESTClient и сервер по https - SSL3_GET_RECORD:wrong version number call / 5 сообщений из 5, страница 1 из 1
25.11.2020, 22:45
    #40022266
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRESTClient и сервер по https - SSL3_GET_RECORD:wrong version number call
When a movie is over, it's a black

Вот это все работало по http, но мне надо перейти на https. Итак,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
var
  APIURL: string = 'https://localhost:8080/';
//…

constructor TServerRequest.Create(const AServerURL: string);
var
  Http: TIdCustomHTTP;
  SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
  FServerURL := AServerURL;
  //...
  FRESTClient := TRESTClient.Create(nil);
  FRESTRequest := TRESTRequest.Create(nil);
  FRESTRequest.Client := FRESTClient;

  //... добавлено нижеследующее 
  IdOpenSSLSetLibPath('E:\SSL\'); // path exists
  Http := (FRESTRequest.Client.HTTPClient.Peer.GetObject) as TIdCustomHTTP;
  SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(Http);
  with SSLIOHandler do
  begin
    SSLOptions.Method := sslvSSLv3;
    SSLOptions.SSLVersions := [sslvSSLv3];
  end;
  Http.IOHandler := SSLIOHandler;
  //...

end;

///….. в методе TServerRequest вызываю
    FRESTClient.BaseURL := FServerURL + 'auth/openid-connect/token';
    FRESTRequest.AddAuthParameter('Authorization', 'Bearer ' + TResourceBearer(Resource).Token, pkHTTPHEADER, [poDoNotEncode]);
///….. 
    FRESTRequest.Method := rmPOST;
    FRESTRequest.Execute;



при вызове FRESTRequest.Execute получаю исключение:

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EIdOSSLUnderlyingCryptoError with message 'Error connecting with SSL.
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number'.
---------------------------
Break Continue Help
---------------------------

Что я делаю не так?
...
Рейтинг: 0 / 0
26.11.2020, 01:04
    #40022306
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRESTClient и сервер по https - SSL3_GET_RECORD:wrong version number call
TRestClient может работать без indy

Код: pascal
1.
2.
3.
4.
5.
6.
7.
  var Client := TRESTClient.Create(FServerURL);
  var Request := TRESTRequest.Create(nil);
  Request.Client := Client;

  Client.SecureProtocols := [THTTPSecureProtocol.SSL3];
  Request.Method := TRESTRequestMethod.rmPOST;
  Request.Execute();
...
Рейтинг: 0 / 0
26.11.2020, 11:17
    #40022392
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRESTClient и сервер по https - SSL3_GET_RECORD:wrong version number call
Все дело было в порте, https-листенер на другом порте висел, такие дела
...
Рейтинг: 0 / 0
26.11.2020, 11:18
    #40022393
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRESTClient и сервер по https - SSL3_GET_RECORD:wrong version number call
X-Cite
TRestClient может работать без indy

Код: pascal
1.
2.
3.
4.
5.
6.
7.
  var Client := TRESTClient.Create(FServerURL);
  var Request := TRESTRequest.Create(nil);
  Request.Client := Client;

  Client.SecureProtocols := [THTTPSecureProtocol.SSL3];
  Request.Method := TRESTRequestMethod.rmPOST;
  Request.Execute();

Там внутрях все равно Инди
...
Рейтинг: 0 / 0
26.11.2020, 12:09
    #40022405
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TRESTClient и сервер по https - SSL3_GET_RECORD:wrong version number call
Квейд
Там внутрях все равно Инди

WinHttp
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TRESTClient и сервер по https - SSL3_GET_RECORD:wrong version number call / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]