CURL и ГОСТ под Windows
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 .
grigori
( ͡° ͜ʖ ͡°)
почему под windows, а не в виртуалке?
пробовал сборку под cygwin?
cipher-ы, алгоритмы, реализует не curl, а ssl-библиотека, обычно openssl, и под win может не быть реализации этого cipher-а. Можно поразбираться с openssl, но без обоснования считаю что нет смысла скрещивать openssl с windows.
fixxxer
AnrDaemon
Продвинутый новичок
Mishall
Новичок
2 grigori
PHP трудится под IIS 7,
виртуалку под Hyper-V c CentOs стал настраивать параллельно, но столкнулся с проблемами идентификации в сети.
2 fixxxer
для бинарного openssl.exe все работает и gost в списке выводится (на требуемом файле конфигурации *.cnf), требуется найти php_curl.dll или собрать ее самостоятельно из исходников
об ошибках подмены curl (libcurl.dll) уже писал выше
2 AnrDaemon
тесты проводятся пока на локальном сайте
нашел пример компиляции php_curl под Win, но не удалось связаться с автором по вопросам
AnrDaemon
Продвинутый новичок
fixxxer
ну, не знаю, собери сам попробуй
grigori
( ͡° ͜ʖ ͡°)
Mishall
Новичок
2 AnrDaemon
не удалось найти тех же версий указанные файлы
найденный curl-7.42.1-win32.7z указывает на версии продукта 1.0.2а и версию файла 1.0.2.1, против ранее стоявщих 1.0.1p и 1.0.1.16
на офф.сайте curl под Win присутствуют сборки только 7.40, 7.43 в которых совершенно другие версии указанных файлов
при этом в секции openssl оражается через phpinfo()
OpenSSL support enabled
OpenSSL Library Version OpenSSL 1.0.2a 19 Mar 2015
OpenSSL Header Version OpenSSL 1.0.1p 9 Jul 2015
после замены libeay32.dll и ssleay32.dll версии 1.0.2а возникла ошибка:
error:0609E09C:digital envelope routinesKEY_SET_TYPE:unsupported algorithm
содержимое файла openssl.cfg успешно отрабатывает при запуске файла openssl.exe с последующим ciphers и найденной строкой gost в перечне
вероятно найденнная сборка curl-openssl так и не читает файл конфигурации при запуске через php_curl.
Догадку подтверждат намеренное внесение ошибок в openssl.cfg, о чем сразу сообщает openssl.exe, а php по-прежнему error:0609E09C:digital.
Подключение расширения php_openssl.dll и вывод списка алгоритмов через php-функции openssl_get_cipher_methods и openssl_get_md_methods() подтверждают отсутствие gost-алгоритма.
Полный набор ошибок OpenSSL, а не только последняя:
error:0B07706F:x509 certificate routines:X509_PUBKEY_get:unsupported algorithm
error:0B06E06C:x509 certificate routines:X509_get_pubkey_parameters:unable to get certs public key
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
2 grigori
под IIS все устраивает + там еще масса других проектов под Net крутится,
с учетом сложностей в решении проблем под Win для это проекта параллельно равернул вирт.машину CentOS 6.6 с предустановленным LAMP
Ошибка ЭЦП — Не удалось закончить создание этой подписи
✅ Всем привет! Вчера мне на почту написала одна из моих читательниц блога и попросила ей помочь с ошибкой которая у нее возникает при подписи документа, она делала все по моей инструкции, где я рассказывал как надо подписывать PDF документы, но у нее ни чего не получалось, а вылетала следующая ошибка:🔥
рис.1 ⛔️ Не удалось закончить создание этой подписи. Ошибка превышения размера. Неподдерживаемый алгоритм открытых ключей 🔥
✅ После нескольких попыток решить все по почте, девушка на той стороне дала мне доступ по teamviewer к своему компьютеру и я начал разбираться в чем проблема.
Скажу сразу, что решения данного вопроса состоит из двух вариантов пробуйте один из них и если не получилось, второй вариант, вам точно поможет! ⛔️
Вариант 1
✅ Для того что бы исправить ошибку при подписи документа PDF — Не удалось закончить создание этой подписи. Ошибка превышения размера. Неподдерживаемый алгоритм открытых ключей. ⛔️ Самый простой и наглядный вариант будет исправить на то, что ему не нравится, а в данном контексте ему не нравится алгоритм шифрования.
Поэтому приступим к инструкции
Инструкция
- Открываем наш документ в Adobe Reader или Adobe Acrobat
- Заходим в меню Редактирование и выбираем подменю Установки
- Далее в открывшемся окне в левой колонке выбираем меню Подписи, а с правой в блоке Создание и оформление нажимаем на кнопку Подробнее
- Меняем формат подписи по умолчанию на Эквивалент CaDES (+убедитесь что в методе подписания по умолчанию у вас стоит КриптоПро PDF)
- После этого нажимаем ОК и закрываем документ и Adobe
- Открываем заново и пробуем подписать
- с вероятностью 99% у вас при подписи должна быть такая табличка ))
Вариант 2
В моем случае мне еще не понравилось, что все было установлено давным давно и я решил обновить главный модуль который как раз и подписывает документы КриптоПро PDF
Инструкция
- Для обновления КриптоПро PDF достаточно зайти на официальный сайт и скачать КриптПро ПДФ
- перезагружаем комп и пробуем подписать документ
Поддержка Рутокен ЭЦП в OpenSSL (Страница 5 из 17)
Страницы Назад 1 2 3 4 5 6 7 … 17 Далее
Сообщений с 61 по 75 из 250
#61 Ответ от safarov 2012-11-12 20:09:25
- safarov
- Посетитель
- Неактивен
Re: Поддержка Рутокен ЭЦП в OpenSSL
Инициализировал я токен, пытаюсь сгенерировать закрытый ключ получаю:
При этом система поставлена пять минут назад
Далее генерим закрытый ключи пользователя и СА на Fedora 17
Переходим в Ubuntu 11.10
Скажите почему на Ubuntu 11.10 openssl отказался генерировать закрытые ключи?
#62 Ответ от Виктор Ткаченко 2012-11-13 13:08:46
- Виктор Ткаченко
- Посетитель
- Неактивен
Re: Поддержка Рутокен ЭЦП в OpenSSL
А как вы инициализировали токен? Его нжуно инициализировать через Панель управления (которая входит в виндовые драйвера), а не через OpenSC. С Убунтой 11.10 могут быть проблемы такого рода https://forum.rutoken.ru/post/4426/#p4426.
#63 Ответ от Виктор Ткаченко 2012-11-13 13:21:03
- Виктор Ткаченко
- Посетитель
- Неактивен
Re: Поддержка Рутокен ЭЦП в OpenSSL
На базе OpenSSL сделан мультиплатформенный и мультибраузерный плагин, который поддерживает работу с сертификатами X.509, подписанные сообщения CMS, запросы на сертификаты PKCS#10 — с использованием российских криптоалгоритмов.
Демо-площадку решения можно посмотреть по ссылке http://pki.rutokenweb.ru
#64 Ответ от safarov 2012-11-13 13:57:29
- safarov
- Посетитель
- Неактивен
Re: Поддержка Рутокен ЭЦП в OpenSSL
А как вы инициализировали токен?
Его нужно инициализировать через Панель управления (которая входит в виндовые драйвера)
То есть для того чтобы мне пользоваться rutoken под Linux нужно еще купить лицензию на Windows?
С Убунтой 11.10 могут быть проблемы такого рода https://forum.rutoken.ru/post/4426/#p4426. Внизу дан рецепт их решения.
У меня этих сложностей не возникло.
Кстате может возможно будет подготовить эталонное решение (эталонную инструкцию) которое будет стабильно работать? А то получается здесь хочу работать, а здесь не хочу.
#65 Ответ от Виктор Ткаченко 2012-11-13 14:04:20
- Виктор Ткаченко
- Посетитель
- Неактивен
Re: Поддержка Рутокен ЭЦП в OpenSSL
То есть для того чтобы мне пользоваться rutoken под Linux нужно еще купить лицензию на Windows?
Пока так. Делаем утилиту инициализации под другие платформы.
С Убунтой 11.10 могут быть проблемы такого рода https://forum.rutoken.ru/post/4426/#p4426. Внизу дан рецепт их решения.
У меня этих сложностей не возникло.
Очень похоже как раз на проблему с libusb. В Убунту 11.10 входит глючная версия libusb, лаги которой как раз и могут вызывать нестабильность работы с токеном. Лучшее ее обновить.
Кстате может возможно будет подготовить эталонное решение (эталонную инструкцию) которое будет стабильно работать? А то
получается здесь хочу работать, а здесь не хочу.
На разных линухах — разные грабли 🙂 По мере хождения по ним — обновляем информацию.
#66 Ответ от safarov 2012-11-13 14:21:00 (2012-11-13 14:27:37 отредактировано safarov)
- safarov
- Посетитель
- Неактивен
Re: Поддержка Рутокен ЭЦП в OpenSSL
На базе OpenSSL сделан мультиплатформенный и мультибраузерный плагин, который поддерживает работу с сертификатами X.509, подписанные сообщения CMS, запросы на сертификаты PKCS#10 — с использованием российских криптоалгоритмов.
Демо-площадку решения можно посмотреть по ссылке http://pki.rutokenweb.ru
Только что проверил работу на тестовой площадке с комьютера под управлением MacOS 10.8.2, браузер Google Chrome версии 23.0.1271.64, Rutoken ECP Flash 4G. Rutoken форматировал под Fedora 17 командами выше. На нем же также находятся сгенирированные вчера сертификаты и ключи.
Результат успешно получил сертификат.
Запрос
Информация о текущей структуре pkcs15 ниже:
В работе я пользуюсь информацией с этой страницы.
CURL и ГОСТ под Windows
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 .
grigori
( ͡° ͜ʖ ͡°)
почему под windows, а не в виртуалке?
пробовал сборку под cygwin?
cipher-ы, алгоритмы, реализует не curl, а ssl-библиотека, обычно openssl, и под win может не быть реализации этого cipher-а. Можно поразбираться с openssl, но без обоснования считаю что нет смысла скрещивать openssl с windows.
fixxxer
AnrDaemon
Продвинутый новичок
Mishall
Новичок
2 grigori
PHP трудится под IIS 7,
виртуалку под Hyper-V c CentOs стал настраивать параллельно, но столкнулся с проблемами идентификации в сети.
2 fixxxer
для бинарного openssl.exe все работает и gost в списке выводится (на требуемом файле конфигурации *.cnf), требуется найти php_curl.dll или собрать ее самостоятельно из исходников
об ошибках подмены curl (libcurl.dll) уже писал выше
2 AnrDaemon
тесты проводятся пока на локальном сайте
нашел пример компиляции php_curl под Win, но не удалось связаться с автором по вопросам
AnrDaemon
Продвинутый новичок
fixxxer
ну, не знаю, собери сам попробуй
grigori
( ͡° ͜ʖ ͡°)
Mishall
Новичок
2 AnrDaemon
не удалось найти тех же версий указанные файлы
найденный curl-7.42.1-win32.7z указывает на версии продукта 1.0.2а и версию файла 1.0.2.1, против ранее стоявщих 1.0.1p и 1.0.1.16
на офф.сайте curl под Win присутствуют сборки только 7.40, 7.43 в которых совершенно другие версии указанных файлов
при этом в секции openssl оражается через phpinfo()
OpenSSL support enabled
OpenSSL Library Version OpenSSL 1.0.2a 19 Mar 2015
OpenSSL Header Version OpenSSL 1.0.1p 9 Jul 2015
после замены libeay32.dll и ssleay32.dll версии 1.0.2а возникла ошибка:
error:0609E09C:digital envelope routinesKEY_SET_TYPE:unsupported algorithm
содержимое файла openssl.cfg успешно отрабатывает при запуске файла openssl.exe с последующим ciphers и найденной строкой gost в перечне
вероятно найденнная сборка curl-openssl так и не читает файл конфигурации при запуске через php_curl.
Догадку подтверждат намеренное внесение ошибок в openssl.cfg, о чем сразу сообщает openssl.exe, а php по-прежнему error:0609E09C:digital.
Подключение расширения php_openssl.dll и вывод списка алгоритмов через php-функции openssl_get_cipher_methods и openssl_get_md_methods() подтверждают отсутствие gost-алгоритма.
Полный набор ошибок OpenSSL, а не только последняя:
error:0B07706F:x509 certificate routines:X509_PUBKEY_get:unsupported algorithm
error:0B06E06C:x509 certificate routines:X509_get_pubkey_parameters:unable to get certs public key
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
2 grigori
под IIS все устраивает + там еще масса других проектов под Net крутится,
с учетом сложностей в решении проблем под Win для это проекта параллельно равернул вирт.машину CentOS 6.6 с предустановленным LAMP