Статус: Новичок
Группы: Участники
Зарегистрирован: 04.04.2018(UTC) Сообщений: 8  Откуда: Москва
|
Здравствуйте.
После обновления криптопро 4.0.0.4 с 9461 билда на 9842 появилась ошибка при вызове метода CadesVerifyMessage(): GetLastError() возвращает -2147024809.
ОС: Ubuntu 16.04 Установлены пакеты криптопро: $ dpkg -l | grep csp ii cprocsp-cpopenssl-64 4.0.0-4 amd64 OpenSSL. Build 9842. ii cprocsp-cpopenssl-base 4.0.0-4 all Openssl common Build 9842. ii cprocsp-cpopenssl-gost-64 4.0.0-4 amd64 OpenSSL capi_gost engine. Build 9842. ii cprocsp-curl-64 4.0.0-4 amd64 CryptoPro Curl shared library and binaris. Build 9842. ii cprocsp-pki-cades 2.0.0-1 amd64 CryptoPro PKI ii cprocsp-pki-plugin 2.0.0-1 amd64 CryptoPro PKI ii cprocsp-rdr-pcsc-64 4.0.0-4 amd64 PC/SC components for CryptoPro CSP readers. Build 9842. ii cprocsp-rsa-64 4.0.0-4 amd64 CryptoPro RSA CSP. Build 9842. ii cprocsp-stunnel-64 4.0.0-4 amd64 Universal SSL/TLS tunnel. ii lsb-cprocsp-base 4.0.0-4 all CryptoPro CSP library. Build 9842. ii lsb-cprocsp-capilite-64 4.0.0-4 amd64 CryptoAPI lite. Build 9842. ii lsb-cprocsp-devel 4.0.9921-5 all CryptoPro CSP static libraries and headers. Build 9921. ii lsb-cprocsp-kc1-64 4.0.0-4 amd64 CryptoPro CSP library. Build 9842. ii lsb-cprocsp-rdr-64 4.0.0-4 amd64 CryptoPro CSP readers. Build 9842.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Попробуйте после переустановки КриптоПро CSP переустановить вот эти пакеты cprocsp-pki-cades 2.0.0-1 cprocsp-pki-plugin из КриптоПро SDK |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.04.2018(UTC) Сообщений: 8  Откуда: Москва
|
Автор: cross  Попробуйте после переустановки КриптоПро CSP переустановить вот эти пакеты cprocsp-pki-cades 2.0.0-1 cprocsp-pki-plugin из КриптоПро SDK Не помогло. Ошибка очень специфическая и проявляется только при вызове из python при работе через uWSGI. Переход на CryptVerifyMessageSignature не помог, видимо cades 2.0.0 собран с обновлённой CryptoAPI, т.к. проблем на 9461, когда у вас ещё было 3 пакета (lsb-cprocsp-cades-64, lsb-cprocsp-ocsp-util-64 и lsb-cprocsp-tsp-util-64) не было. Есть ли какой-то способ сделать откат с 9842 билда на 9461 только этих пакетов? Простой установкой не получается, ругается на отсутствие libasn1data.so.4.
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.04.2018(UTC) Сообщений: 8  Откуда: Москва
|
С включенным режимом отладки в логе только 2 строчки:
cpcsp[1447]: capi10: CPCAPI_I_GetDefaultProvider Reconnect FAIL, hProv = (nil) cpcsp[1447]: capi20: CryptMsgUpdate () Unknown exception catched
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Без примера врядли сможем понять в чем причина, скорее всего как то странно заполняются структуры типа CADES_VERIFICATION_INFO. |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.04.2018(UTC) Сообщений: 8  Откуда: Москва
|
Автор: cross  Без примера врядли сможем понять в чем причина, скорее всего как то странно заполняются структуры типа CADES_VERIFICATION_INFO. Пример брал из вашей документации: http://cpdn.cryptopro.ru...edapiverifycadesbes.htmlПробовал так же инициализировать все переменные структур CADES_VERIFICATION_PARA и CRYPT_VERIFY_MESSAGE_PARA по аналогии с документацией https://msdn.microsoft.c...s/library/aa382372.aspx.Проблема наблюдается исключительно при работе через uWSGI. Тестовый скрипт на python запущенный из консоли отрабатывает. $ /opt/cprocsp/sbin/amd64/cpconfig -defprov -view_type Listing Available Provider Types: Provider type Provider Type Name _____________ _____________________________________ 75 GOST R 34.10-2001 Signature with Diffie-Hellman Key Exchange 80 GOST R 34.10-2012 (256) Signature with Diffie-Hellman Key Exchange 81 GOST R 34.10-2012 (512) Signature with Diffie-Hellman Key Exchange 1 RSA Full (Signature and Key Exchange)
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.04.2018(UTC) Сообщений: 8  Откуда: Москва
|
После очередной перезагрузки в логе стало появляться чуть больше информации:
cpcsp[2941]: cades: CadesVerifyMessage (pVerifyPara=0x0x7fff7d070220, dwSignerIndex=0, pbSignedBlob=0x0x331afe0, cbSignedBlob=2161, ppDecodedBlob=0x0x7fff7d070218, ppVerificationInfo=0x0x7fff7d070210) cpcsp[2941]: capi10: CPCAPI_I_GetDefaultProvider Reconnect FAIL, hProv = (nil) cpcsp[2941]: capi20: CryptMsgUpdate () Unknown exception catched cpcsp[2941]: cades: CadesVerifyMessageImpl Exception thrown: _hr cpcsp[2941]: cades: CadesVerifyMessage CAtlException, m_hr=0x80070057 cpcsp[2941]: cades: CadesVerifyMessage (res=0, GetLastError=0x80070057 cpcsp[2941]: cades: CadesFreeVerificationInfo (pVerificationInfo=0x(nil)) cpcsp[2941]: cades: CadesFreeVerificationInfo (res=1, GetLastError=0x80070057
Что вообще может значить Reconnect FAIL в методе CPCAPI_I_GetDefaultProvider? На сколько я понимаю из названия, там происходит получение провайдера по умолчанию. Совершенно непонятно, какой там может быть reconnect.
Вот аналогичная часть лога при нормальной работе библиотеки:
cades[3593]: cades: CadesVerifyMessage (pVerifyPara=0x0x7ffed3e06ea0, dwSignerIndex=0, pbSignedBlob=0x0x1281170, cbSignedBlob=2161, ppDecodedBlob=0x0x7ffed3e06e98, ppVerificationInfo=0x0x7ffed3e06e90) cpcsp[3593]: cades: CadesMsgVerifySignatureImpl Input parameters checked cpcsp[3593]: capi20: CryptMsgGetParam () Exception :' 0xea: More data is available.' at file:'/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/capilite/CMSMessage.h' line:163 cpcsp[3593]: message repeated 3 times: [ capi20: CryptMsgGetParam () Exception :' 0xea: More data is available.' at file:'/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/capilite/CMSMessage.h' line:163] cpcsp[3593]: cades: VerifyMessageSignature Signature verification started cpcsp[3593]: cades: VerifyMessageSignature Signature verified
Одна и та же библиотека, один и тот же код вызова. Разница только с способе вызова - консоль или uWSGI.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Крайне странно. А пробовали какие то другие операции делать у вас в приложении? Например посчитать хеш? Будет работать? |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.04.2018(UTC) Сообщений: 8  Откуда: Москва
|
Автор: cross  Крайне странно. А пробовали какие то другие операции делать у вас в приложении? Например посчитать хеш? Будет работать? Нет, пробовал только проверку подписи. Попробую. После обновления до 9944 билда ошибка изменилась: cades[1926]: capi10: CPCAPI_I_GetDefaultProvider Reconnect FAIL, hProv = (nil) cades[1926]: capi20: CryptMsgUpdate () Exception :' 0x80090008: Invalid algorithm specified.' at file:'/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/capilite/CMSSignedMessage.h' line:75
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close