Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 4.0
»
Addon для Node.js (InitializeSecurityContext failed: SEC_E_INTERNAL_ERROR)
Статус: Участник
Группы: Участники
Зарегистрирован: 23.11.2016(UTC) Сообщений: 14  Сказал(а) «Спасибо»: 2 раз
|
Собираю libcurl под Windows (WinSSL a не OpenSSL), тестирую его в консольном приложении C++, успешно соединяюсь с https://testgost2012.cryptopro.ru/.Засовываю тот-же самый код в node addons и при попытке соединения получаю: "InitializeSecurityContext failed: SEC_E_INTERNAL_ERROR (0x80090304) - Не удается установить связь с локальной системой безопасности". При этом RSA шифрование в node addons работает. В чем может быть причина? Отредактировано пользователем 23 сентября 2019 г. 13:51:36(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.09.2016(UTC) Сообщений: 126
Сказал(а) «Спасибо»: 8 раз Поблагодарили: 35 раз в 28 постах
|
Попробуйте перед сборкой libcurl внести правку в файл schannel.c: Код:static CURLcode
schannel_connect_step1(struct connectdata *conn, int sockindex)
......
sspi_status = s_pSecFn->InitializeSecurityContext(
&BACKEND->cred->cred_handle, NULL, host_name, BACKEND->req_flags, 0, 0,
( NULL), // было (BACKEND->use_alpn ? &inbuf_desc : NULL),
0, &BACKEND->ctxt->ctxt_handle,
&outbuf_desc, &BACKEND->ret_flags, &BACKEND->ctxt->time_stamp);
Согласно документации параметр должен быть NULL: Цитата:pInput [in] указатель на структуру SecBufferDesc World Wide Web link. При первом вызове должен быть NULL. При последующих вызовах должен состоять из двух структур SecBuffer Это помогло при работе с библиотекой node-libcurl.
|
 1 пользователь поблагодарил Aleksandr G* за этот пост.
|
dosik оставлено 23.09.2019(UTC)
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.11.2016(UTC) Сообщений: 14  Сказал(а) «Спасибо»: 2 раз
|
Автор: Aleksandr G*  Попробуйте перед сборкой libcurl внести правку в файл schannel.c: Помогло, спасибо. Вроде как и по документации Microsoft первый вызов должен быть NULL. И все же пока осталось непонятным, чем же там делает среда node, почему нативное приложение Windows работало "из коробки"? P.S. Не пробовали pull request в Curl? Или там болото и не расшатаешь?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.09.2016(UTC) Сообщений: 126
Сказал(а) «Спасибо»: 8 раз Поблагодарили: 35 раз в 28 постах
|
PR не пробовал. Эта тема уже обсуждалась например тут. Да и про документацию schannel они в курсе (Obviously this isn't 100% correct, given that the ALPN buffer is meant to be passed in here, but perhaps this documentation hasn't been updated post-ALPN implementation). Если будете кидать PR укажите ссылку, подпишусь на обсуждение
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 4.0
»
Addon для Node.js (InitializeSecurityContext failed: SEC_E_INTERNAL_ERROR)
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close