Статус: Новичок
Группы: Участники
Зарегистрирован: 17.02.2022(UTC) Сообщений: 5
|
Pасширение phpcades падает в режиме веб-сервера, а в консоли работает. Сервер - Debian-8-x86_64 При подписании строки методами:$sd->SignCades( $signer, CADES_X_LONG_TYPE_1, 0, ENCODE_BASE64 ); $sd->Sign( $signer, 0, ENCODE_BASE64 ); возникает ошибка 500( Internal Server Error ).Сades падает с ошибкой:www-root: <capi20>CryptMsgGetParam!() Exception :'Error 0xea.' at file:'../../../CSPbuild/CSP/capilite/CMSMessage.h' line:250 Если запускать скрипт через консоль или обертку, то он отрабатывает корректно. Кроме этого при подписании HASH методом $sd->SignHash( $hash, $signer, CADES_X_LONG_TYPE_1, ENCODE_BASE64 ); выдается ошибка -> The parameter is incorrect. (0x80070057). Непонятно к чему она относится. Все параметры передаются коректно. Подскажите, где собака зарыта? Отредактировано пользователем 18 февраля 2022 г. 10:46:50(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,182   Сказал «Спасибо»: 620 раз Поблагодарили: 2396 раз в 1885 постах
|
Здравствуйте.
1) Запустить в консоли под пользователем web-сервера 2) Проверять контейнер\сертификат\права для пользователя, под которым работает web-сервер. Или это ничего не настраивалось? |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.02.2022(UTC) Сообщений: 5
|
1) Запустили через консоль. Методы Sign и SignCades работают корректно и выдают необходимую информацию. А SignHash по прежнему с ошибкой -> The parameter is incorrect. (0x80070057).
Если не через консоль запускать, то Сades падает с ошибкой: www-root: <capi20>CryptMsgGetParam!() Exception :'Error 0xea.' at file:'../../../CSPbuild/CSP/capilite/CMSMessage.h' line:250
2) Дело в том что методы Sign и SignCades через консоль отрабатывают корректно, а SignHash с ошибкой -> The parameter is incorrect. (0x80070057) С чем это может быть связано?
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.02.2022(UTC) Сообщений: 5
|
Классы CPSigner, CPHashedData, CPStore работают корректно. Данные по сертификатам отображаются корректно. И методы Sign и SignCades работают корректно, но только через консоль. А вот SignHash даже при запуске скрипта через консоль выдает ошибку The parameter is incorrect. (0x80070057)
Можете сориентировать почему она появляется, если другие методы работают? Чем метод SignHash отличается от простого Sign и SignCades?
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.02.2022(UTC) Сообщений: 5
|
Вопрос падения расширения phpcades при подписи строки решился. Это было связано с тем, что CSP использовал свою библиотеку CURL во время подписи, а PHP в режиме веб-сервера подгружало свою собственную curl, в итоге происходила нестабильная работа php и процесс убивался из-за некорректного доступа к адресам памяти. Остался вопрос по работе SignHash и возникающей при подписи ошибки - The parameter is incorrect. (0x80070057).Вот полностью код: Цитата: $h = "2b665bc6ca499b1f26b1f49bcc7c10a710f59b39b48c910fa2e21c881ef9d6d9"; $tsp_addres = "http://pki.skbkontur.ru/tsp2012/tsp.srf"; $signer = new CPSigner(); $signer->set_TSAAddress($tsp_addres); $signer->set_Certificate($cert); $hash = new CPHashedData(); $hash->set_Algorithm(HASH_ALGORITHM_GOSTR_3411); $hash->SetHashValue($h); $sd = new CPSignedData(); $sd->set_Content('123'); // добавлен на всякий случай, но не работает , что с ним, что без него $sm = $sd->SignHash( $hash, $signer, CADES_X_LONG_TYPE_1, ENCODE_BASE64 );
Куда копать, подскажите пожалуйста? (методы Sign и SignCades работают без ошибок)
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,182   Сказал «Спасибо»: 620 раз Поблагодарили: 2396 раз в 1885 постах
|
Автор: avtotest  Вопрос падения расширения phpcades при подписи строки решился. Это было связано с тем, что CSP использовал свою библиотеку CURL во время подписи, а PHP в режиме веб-сервера подгружало свою собственную curl, в итоге происходила нестабильная работа php и процесс убивался из-за некорректного доступа к адресам памяти. Остался вопрос по работе SignHash и возникающей при подписи ошибки - The parameter is incorrect. (0x80070057).Вот полностью код: Цитата: $h = "2b665bc6ca499b1f26b1f49bcc7c10a710f59b39b48c910fa2e21c881ef9d6d9"; $tsp_addres = "http://pki.skbkontur.ru/tsp2012/tsp.srf"; $signer = new CPSigner(); $signer->set_TSAAddress($tsp_addres); $signer->set_Certificate($cert); $hash = new CPHashedData(); $hash->set_Algorithm(HASH_ALGORITHM_GOSTR_3411); $hash->SetHashValue($h); $sd = new CPSignedData(); $sd->set_Content('123'); // добавлен на всякий случай, но не работает , что с ним, что без него $sm = $sd->SignHash( $hash, $signer, CADES_X_LONG_TYPE_1, ENCODE_BASE64 );
Куда копать, подскажите пожалуйста? (методы Sign и SignCades работают без ошибок) Почему указан устаревший ГОСТ 1994? Должен быть CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 |
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,182   Сказал «Спасибо»: 620 раз Поблагодарили: 2396 раз в 1885 постах
|
|
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.02.2022(UTC) Сообщений: 5
|
Спасибо. Вопрос решился, изменением типа алгоритма.
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close