Mishall
Новичок
Добрый день.
Не удается заставить работат CURL с ГОСТ-алгоритмом под Windows.
Похожая проблема описывается в соседней теме от 2013 под Nix.
Возникающая ошибка:
error:140920F8:SSL routines:SSL3_GET_SERVER_HELLO:unknown cipher returned
PHP 5.5.27 NTS VC11
CURL 7.42.1
OpenSSL 1.0.1p
Пробовал брать бинарники с CURL 7.43.0 подменой php_curl.dll на libcurl.dll в php.ini и заменой файлов libeay32.dll и ssleay32.dll, но php отказывается распознавать curl-функции - PHP Fatal error: Call to undefined function curl_init()
Судя по тексту исходников 7.43.0 проблема (отказ чтения файла конфигурации openssl.cfg с подключением ГОСТ-алгоритмов) не должна проявляться (lib\vtls\openssl.c), судя по присутствию вызова функции CONF_modules_load_file(NULL, NULL ...
Не удается заставить работат CURL с ГОСТ-алгоритмом под Windows.
Похожая проблема описывается в соседней теме от 2013 под Nix.
Возникающая ошибка:
error:140920F8:SSL routines:SSL3_GET_SERVER_HELLO:unknown cipher returned
PHP 5.5.27 NTS VC11
CURL 7.42.1
OpenSSL 1.0.1p
Пробовал брать бинарники с CURL 7.43.0 подменой php_curl.dll на libcurl.dll в php.ini и заменой файлов libeay32.dll и ssleay32.dll, но php отказывается распознавать curl-функции - PHP Fatal error: Call to undefined function curl_init()
Судя по тексту исходников 7.43.0 проблема (отказ чтения файла конфигурации openssl.cfg с подключением ГОСТ-алгоритмов) не должна проявляться (lib\vtls\openssl.c), судя по присутствию вызова функции CONF_modules_load_file(NULL, NULL ...
Код:
int Curl_ossl_init(void)
{
OPENSSL_load_builtin_modules();
#ifdef HAVE_ENGINE_LOAD_BUILTIN_ENGINES
ENGINE_load_builtin_engines();
#endif
/* Lets get nice error messages */
SSL_load_error_strings();
/* Init the global ciphers and digests */
if(!SSLeay_add_ssl_algorithms())
return 0;
OpenSSL_add_all_algorithms();
/* OPENSSL_config(NULL); is "strongly recommended" to use but unfortunately
that function makes an exit() call on wrongly formatted config files
which makes it hard to use in some situations. OPENSSL_config() itself
calls CONF_modules_load_file() and we use that instead and we ignore
its return code! */
/* CONF_MFLAGS_DEFAULT_SECTION introduced some time between 0.9.8b and
0.9.8e */
#ifndef CONF_MFLAGS_DEFAULT_SECTION
#define CONF_MFLAGS_DEFAULT_SECTION 0x0
#endif
CONF_modules_load_file(NULL, NULL,
CONF_MFLAGS_DEFAULT_SECTION|
CONF_MFLAGS_IGNORE_MISSING_FILE);
return 1;
}