Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.09.2014(UTC) Сообщений: 123  Сказал «Спасибо»: 5 раз Поблагодарили: 2 раз в 2 постах
|
Добрый день! У нас на сайте проверяется ЭЦП для большого количества файлов, т.е. по очереди может проверяться до неск. тысяч файлов. Все вроде бы нормально в гугл хроме, IE. Но есть необходимость запускать эту же страничку через desktop приложение, в которое встроено окно браузера с activeX, который привязан как и IE к ОС Windows. И в таком случае тоже все вроде бы нормально работает, но бывает, что через несколько десятков или сотен файлов нижеприведенный код валится на присвоении свойства Content. может свалиться несколько подряд, после продолжения (следующие) может еще несколько сотен все нормально быть, потом опять один - два раза свалиться. Причем, если процесс перезапустить снова, для того же списка, то эти же файлы могут уже нормально пройти, а какие-то другие свалиться... Повторюсь, что просто в браузере это пока не встречалось. Текст ошибки "Параметр задан неверно. (80070057)" Код:var CADESCOM_BASE64_TO_BINARY = 1;
var oSignedData = ObjCreator("CAdESCOM.CadesSignedData");
try {
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = documentdata;
} catch (innerErr) {
alert(innerErr)
}
Подскажите, если кто знает, в чем может быть проблема? есть ли в этом присвоении какие-то сетевые запросы или еще что, что может зависеть от внешних условий? до самой проверки подписи дело даже не доходит... Отредактировано модератором 10 июня 2015 г. 17:47:09(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,752   Сказал «Спасибо»: 579 раз Поблагодарили: 2307 раз в 1807 постах
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.09.2014(UTC) Сообщений: 123  Сказал «Спасибо»: 5 раз Поблагодарили: 2 раз в 2 постах
|
а, извиняюсь, самое главное не написал... "Параметр задан неверно. (80070057)"
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.09.2014(UTC) Сообщений: 123  Сказал «Спасибо»: 5 раз Поблагодарили: 2 раз в 2 постах
|
Сейчас впервые поймал эту ошибку в браузере - IE11. Скриншот и кусок кода в IE отладчике - на картинке http://take.ms/zS0R7
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
Версия плагина последняя? А можете сделать тестовую страничку с циклом, которая это воспроизводит? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.09.2014(UTC) Сообщений: 123  Сказал «Спасибо»: 5 раз Поблагодарили: 2 раз в 2 постах
|
тестовую страницу... сложно, т.к. момент падения не определен и падает всегда на разных файлах, но попробую. Насчет версии - http://take.ms/gAuMV Что еще можно проверить между делом? Замечу, что файл, который сейчас проверяется и падает - подписан 1 подписью
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
Версия хорошая. Нужно как-то нам у себя воспроизвести. Ждём вашего теста. |
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
А что за тип переменной documentdata? Что делается при вызове [docid][C_DATA]? |
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
Ещё можно попробовать в блоке catch распечатать в консоль содержимое строки. Если documentdata - статический объект, т.е. вызов [docid][C_DATA] не будет заново откуда-нибудь качать данные, иначе надо присвоить эту строчку в промежуточную переменную и в блоке catch распечатать её значение. Потом проверить, что там корректный base64. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.09.2014(UTC) Сообщений: 123  Сказал «Спасибо»: 5 раз Поблагодарили: 2 раз в 2 постах
|
бэйс64 корректный. Хотя, что значит корректный? он как-то анализируется в процессе присвоения? documentdata - это двумерный массив. значение documentdata[docid][C_DATA] заранее уже туда занесено, это просто взятие элемента массива. через промежуточную переменную я тоже пробовал, это не помогло. Делаю тестовую страницу
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close