powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / ibec_http
22 сообщений из 47, страница 2 из 2
ibec_http
    #39900717
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему, у меня устаревшая версия. Поддержки TLS1.2 в ней нет.
Сейчас попробую актуальную версию прикрутить.
...
Рейтинг: 0 / 0
ibec_http
    #39900775
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собрал на актуальных исходниках - все то же самое. Стал рыть глубже...

С принудительным заданием LT_TLSv1_2/LT_TLSv1_1 получаем отлуп:
'error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number'

С принудительным заданием LT_SSLv3 получаем отлуп:
'error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure'

Куда еще рыть - я не знаю.

Дело в том, что для доступа к нему должен использоваться TLS1.2


Это точно?
...
Рейтинг: 0 / 0
ibec_http
    #39900938
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert, ну судя по их документации по их API
...
Рейтинг: 0 / 0
ibec_http
    #39900945
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, сейчас поднял документацию, есть публичное ТЗ на разработку регистраторов выбытия с описанием их API, у меня по началу были проблемы с интеграцией моего ПО с этими железяками на осях до Windows 8. Вендоры (их по сути два - Атол и Штрих-М) однозначно ответили, что подключение к их железу по https возможно только с использванием TLS1.2 и после настроек в реестре Win7 на использование по-умолчанию протокола TLS1.2, проблема решилась. Так вот http-сервера на этих устройствах, по требованию ТЗ, должны быть разработаны максимально близко к http-серверу ИС МДЛП. Однако вот тут https://честныйзнак.рф/upload/iblock/57b/API.Protokol-obmena-interfeysnogo-urovnya.pdf на стр. 32 есть такой абзац:
Используемые протоколы и шифры для соединения (ssl шифры были выбраны с учетом требований к информационной безопасности по предоставлению публичного API для доступа к государственной информационной системе):
ssl_protocols: TLSv1
ssl_ciphers: GOST2012-GOST8912-GOST8912


Поэтому сейчас я ужо не уверен, что нужно юзать TLS1.2. Возможно стоит попробовать TLS1.0?
...
Рейтинг: 0 / 0
ibec_http
    #39900950
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пробовал и WinHttpRequest:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TForm1.Button1Click(Sender: TObject);
var 
  http: variant;
begin
 http:=createoleobject('WinHttp.WinHttpRequest.5.1');
 http.open('GET', 'https://api.mdlp.crpt.ru/api/v1/reestr/sgtin/filter', false);
 http.send;
end;



и смотрел Wireshark'ом пакеты. Так вот оно тоже обламывается на handshake и возвращает alert handshake failure.
Может, ему еще что-то надо? Сертификаты там какие?
...
Рейтинг: 0 / 0
ibec_http
    #39900953
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вот отсюда
https://indy.fulgan.com/SSL/openssl-1.0.2t-i386-win32.zip
возьми свежие ssleay32.dll и libeay32.dll и положи их рядом с экзешниками эксперта.
...
Рейтинг: 0 / 0
ibec_http
    #39900957
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10.12.2019 17:56, IBExpert пишет:
> возьми свежие ssleay32.dll и libeay32.dll и положи их рядом с экзешниками эксперта.

ты собираешь Эксперта с распоследними Инди?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ibec_http
    #39900965
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

10.12.2019 17:56, IBExpert пишет:
> возьми свежие ssleay32.dll и libeay32.dll и положи их рядом с экзешниками эксперта.

ты собираешь Эксперта с распоследними Инди?


Не, я только эти две либы оттуда беру.
...
Рейтинг: 0 / 0
ibec_http
    #39900966
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10.12.2019 18:25, IBExpert пишет:
>
> Не, я только эти две либы оттуда беру.

напрасно.
у этих "одарённых личностей" всё пришито белыми нитками.
конкретная версия Инди совместима только со вполне конкретными версиями ssleay32.dll и libeay32.dll
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ibec_http
    #39900970
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

напрасно.
у этих "одарённых личностей" всё пришито белыми нитками.
конкретная версия Инди совместима только со вполне конкретными версиями ssleay32.dll и libeay32.dll


Мне Инди-то сама по себе не нужна. А где же еще брать эти либы?
...
Рейтинг: 0 / 0
ibec_http
    #39900975
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10.12.2019 18:33, IBExpert пишет:
> Мне Инди-то сама по себе не нужна.

а, ну тогда всё Ок.
я думал ты Инди пользуешь.

зы: учитывай, что в ssleay32.dll и libeay32.dll от версии к версии меняются декларации
и параметры функций.
оголтелый волюнтаризм...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ibec_http
    #39904644
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Взял, свежие либы libeay32.dll и ssleay32.dll по твоей ссылке, слил в папку рядом с IBExpert.exe, далее пробую авторизоваться на сервере маркировки:

Код: plsql
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.
execute ibeblock
as
begin
 /* Данные для аутентификации */
 dvClientId = '4212a0d3-822b-466b-b0ca-b563e671195e';
 dvSecret   = '99ec55d8-cbb3-490e-aaac-f6d40fbbdb3e';

 /* Вызов утилиты для получения отпечатка сертификата ЭП и сохранение его в файл */
 ibec_Exec('C:\GbSklad\IBExpert\gbsign.exe thumbprint -index 1 -o "C:\Temp\thumbprint.txt" -provider 75',null,null);

 /* Загрузка отпечатка из файла */
 dvUserId = ibec_LoadFromFile('C:\Temp\thumbprint.txt');

 /* Формирование JSON */
 dvJSON   = ibec_AnsiStringToUTF8('"{"client_id":"'||dvClientId||'","client_secret":"'||dvSecret||'","user_id":"'||dvUserId||'","auth_type":"SIGNED_CODE"}"');

 /* Формирование заголовка */
 dvHeader = 'Authorization: token '||ibec_CRLF()||'Content-Type: application/json';
 dvURL    = 'URL=https://api.mdlp.crpt.ru/api/v1/auth';

 dvSESS   = ibec_http_OpenSession(:dvURL);
 ibec_http_SetHeader(:dvSESS,:dvHeader);
 ibec_http_Post(:dvSESS,:dvJSON);
 dvScode = ibec_http_StatusCode(:dvSESS);
 dvSdesc = ibec_http_Data(:dvSESS);
 ibec_ShowMessage('Ответ: '||:dvScode||'  '||ibec_UTF8ToAnsiString(:dvSdesc));
 ibec_http_CloseSession(:dvSESS);
end



Отпечаток серта получаю, JSON формирую, заголовки ставлю, результат тот же - ошибка 500. Хрен знает, ровно с тем же JSON с этой же машины, с этой же ЭП из своей ТУС авторизуюсь нормально.
...
Рейтинг: 0 / 0
ibec_http
    #39904900
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OrsoF1,

а ручками через curl пробовал?
...
Рейтинг: 0 / 0
ibec_http
    #39905212
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Да, через Curl и WinHTTPRequest норм. В своей ТУС использую WinHTTPRequest через com.
...
Рейтинг: 0 / 0
ibec_http
    #39905241
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В сегодняшней версии после post вызови ibec_http_GetProperty:

sErr = ibec_http_GetProperty(sess, 'SSLErrors');

Чего оно там кажет?
...
Рейтинг: 0 / 0
ibec_http
    #39905270
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert, во чего.
...
Рейтинг: 0 / 0
ibec_http
    #39905276
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ctrl+C в окнах сообщений должно работать.

Ну вот у меня такая же фигня. Что сие означает и как лечить - я не знаю.
А поскольку у меня и сертификата нужного нет, то и тыкаться вслепую я до посинения могу.
...
Рейтинг: 0 / 0
ibec_http
    #39905277
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert, а какая-нибудь УКЭП есть? Можно попробовать дать временный доступ по твоему серту.
...
Рейтинг: 0 / 0
ibec_http
    #39905281
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже не знаю, что такое УКЭП. Темный я :)
Еще осталось на свежих synapse попробовать, с ручным заданием версии TLS.
Но это уже завтра, скорее всего.

И вот это вот все, кстати говоря, происходит еще до отправки всяких хидеров, на установке соединения.
...
Рейтинг: 0 / 0
ibec_http
    #39905284
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert, усиленная квалифицированная электронная подпись )
Ладно, тогда ждем еще результата следующей пробы...
...
Рейтинг: 0 / 0
ibec_http
    #39905322
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделайте воспроизводимый УДАЧНЫЙ коннект с помощью утилиты openssl
И команду успешную сюда покажите.
Александру будет немного понятнее разобраться, с какими необходимыми параметрами вам удаётся соединиться с сервером.

Отдайте ему в личку, в конце концов, сертификат и эту удачную команду. Думаю, неразглашение-то Александр гарантирует.
Всё ж общее дело делается. На благо.
...
Рейтинг: 0 / 0
ibec_http
    #39905906
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сборка на свежих synapse и с новыми ftp-функциями:
www.ibexpert.com/rus/ibe_sfx_ssl.exe

Указываешь тип SSL:
dvURL = 'URL=https://api.mdlp.crpt.ru/api/v1/auth; SSLType=AUTO ';

Возможные значения: AUTO | SSL2 | SSL3 | TLS1 | TLS1.1 | TLS 1.2

Смотришь результат:
sErr = ibec_http_GetProperty(sess, 'SSLErrors');

Если не заведется, то есть еще последний китайский вариант: самому взять synapse и попробовать их завести. Там вроде ничего сложного нет.
Ну это если на паскале (дельфи/лазарус) пишешь.
...
Рейтинг: 0 / 0
22 сообщений из 47, страница 2 из 2
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / ibec_http
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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