Добрый день.
Возникла проблема - при подписании на тестовой странице
http://www.cryptopro.ru/cadesplugin/Default.aspxкак и на локальном компе на собранном демо стенде, не работает подпись.
Ошибка повторяется на минимум 5 машинах в офисе, нашли только одну, на которой все отработало. Причину не определили. Ошибка следующая:
После выбора сертификата (они отображаются) при нажатии подписать простой подписью вылазит окно
chrome
Сигнатура проблемы:
Имя события проблемы: BEX
Имя приложения: chrome.exe
Версия приложения: 24.0.1312.57
Отметка времени приложения: 510326ea
Имя модуля с ошибкой: cades.dll
Версия модуля с ошибкой: 1.2.731.0
Отметка времени модуля с ошибкой: 51140a49
Смещение исключения: 0005a746
Код исключения: c0000409
Данные исключения: 00000000
Версия ОС: 6.1.7601.2.1.0.256.4
Код языка: 1049
Дополнительные сведения 1: eb2f
Дополнительные сведения 2: eb2fa33e279e3c022dec732f19b53519
Дополнительные сведения 3: cf0e
Дополнительные сведения 4: cf0ed2186f199d0fe749ae6481d0e44f
Затем страница обновляется (восстанавливается) и выдается сообщение
Хром:
Не удалось создать подпись из-за ошибки: Error calling method on NPObject.
FF:
CryptoPro CAdES NPAPI Browser plug-in crashed
Аналогично в IE, FF. Все последние версии, с автообновлением.
Компьютеры все с Win7 64 bit корпоративная, SP1
КриптоПро используется тестовая версия, у заказчиков - верней их клиентов, свои Крипто Про.
КриптоПро CSP 3.6.6497
Улучшенная эцп не нужна. TSP, OCSP, как я понял, не нужны.
Плагин ЭЦП Browser plug-in ставится без ошибок.
Логи удалось собрать такие
00000001 0.00000000 [1472] .\Externs.cpp(33) : /Init/
00000002 0.00017541 [1472] .\CPSettings.cpp(193) : /Init/
00000003 0.00078964 [1472] cades.dll: {7900} /CCadesApp::InitInstance/ CadesApp.cpp(16) : hInstance=6E000000
00000004 0.00168347 [1472] .\Externs.cpp(33) : /Init/
00000005 0.00180165 [1472] .\CPSettings.cpp(193) : /Init/
00000006 0.01981881 [1472] cades.dll: {7900} /CadesSignMessage/ cades.cpp(2108) : (pSignPara=0x002EF134, fDetachedSignature=0, cToBeSigned=1, rgpbToBeSigned=0x002EF140, rgcbToBeSigned=0x002EF144, ppSignedBlob=0x002EF160)
00000007 0.02406745 [1472] cpcspi: Thread: file:line function text xcode(dcode) level: 0
00000008 0.02448389 [1472] cpcsp: Thread: file:line text level: 0
00000009 0.03092574 [1472] cpui: Thread: file:line function text xcode(dcode) level: 0
00000010 0.03233739 [1472] cprdr: Thread: file:line function text xcode(dcode) level: 0
00000011 0.06705864 [1472] cades.dll: {7900} /CadesSignMessageImpl/ cades.cpp(1990) : Signer updating start
00000012 0.06707014 [1472] cades.dll: {7900} /CadesSignMessageImpl/ cades.cpp(1993) : Hash algorithm deduced
00000013 0.06711835 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::AttributeExists/ cades.cpp(185) : (pAttr=0)
00000014 0.06712674 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(381) : Signer does not have any of signing-certificate attributes
00000015 0.06717122 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(387) : Attributes copied
00000016 0.07591016 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(390) : signing-certificate(-v2) attribute assembled
00000017 0.07594530 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::UpdateSignedAttributes/ cades.cpp(393) : Signer is updated successfully
00000018 0.07597640 [1472] cades.dll: {7900} /CadesMsgOpenToEncode/ cades.cpp(495) : (dwMsgEncodingType=0x00010001, dwFlags=0x00000000, pvMsgEncodeInfo=0x002EEA54, pszInnerContentObjID=0, pStreamInfo=0x00000000)
00000019 0.07600906 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImpl/ cades.cpp(443) : Start
00000020 0.07602212 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImpl/ cades.cpp(447) : Input parameters checked
00000021 0.07605416 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImpl/ cades.cpp(456) : Copy of input structures is ready
00000022 0.07607810 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImpl/ cades.cpp(462) : Signers updating start
00000023 0.07609987 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImpl/ cades.cpp(467) : Signer #0
00000024 0.07767667 [1472] cpext: Thread: file:line function text xcode(dcode) level: 0
00000025 0.07818641 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::CheckAlgorithms/ cades.cpp(411) : Public key info is exported successfully
00000026 0.07822310 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::CheckAlgorithms/ cades.cpp(418) : Signature algoritm OID info is found: 1.2.643.2.2.3
00000027 0.07833786 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImpl/ cades.cpp(474) : Certificates equality checked
00000028 0.07834782 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::DeduceHashAlgorithm/ cades.cpp(161) : (szHashAlgorithm=1.2.643.2.2.9)
00000029 0.07838482 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImpl/ cades.cpp(476) : Hash algorithm deduced
00000030 0.07841530 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImplNamespace::AttributeExists/ cades.cpp(180) : (pAttr->pszObjId=1.2.840.113549.1.9.16.2.47)
00000031 0.07844423 [1472] cades.dll: {7900} /CadesMsgOpenToEncodeImpl/ cades.cpp(483) : Calling CryptMsgOpenToEncode()
00000032 0.08005990 [1472] cades.dll: {7900} /CadesMsgOpenToEncode/ cades.cpp(526) : (hMsg=0x003B5B10, GetLastError=0x00000000)
00000033 0.10548427 [1472] cades.dll: {7900} /CadesMsgEnhanceSignature/ cades.cpp(1180) : (hCryptMsg=0x003A5320, dwSignatureIndex=0, pCadesSignPara=0x002EEA6C)
00000034 0.10551661 [1472] cades.dll: {7900} /CadesMsgEnhanceSignatureImpl/ cades.cpp(1035) : Input parameters checked
Ясно, что capicom работает, т.к. как я понял, с его помощью извлекаются сертификаты.
Вылетает при исполнении js метода
var sSignedMessage2 = oSignedData.SignCades(oSigner, 0);
и такого же на демо страничке
Сертификаты нормальные, т.к. до этого применялся CAPICOM поверх Крипто ПРО на ГОСТ алгоритме и работало все хорошо. Но только под IE. Хотим под все браузеры :)
Отредактировано пользователем 14 февраля 2013 г. 16:16:35(UTC)
| Причина: Не указана