Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline sabretoothedhamster  
#1 Оставлено : 9 декабря 2013 г. 19:38:19(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

Здравствуйте!

Подскажите, пожалуйста, какие ресурсы CSP исчерпываются при выдаче диагностики "Ошибка 0x8009000e при обращении к CSP: Недостаточно доступной памяти для выполнения операции."? Только хэндлеры хранилищ и сертификатов или еще что-то? Ошибка возникла при подписи буфера...
Offline Андрей Писарев  
#2 Оставлено : 9 декабря 2013 г. 19:58:05(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 14,190
Мужчина
Российская Федерация

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
Автор: sabretoothedhamster Перейти к цитате
Здравствуйте!

Подскажите, пожалуйста, какие ресурсы CSP исчерпываются при выдаче диагностики "Ошибка 0x8009000e при обращении к CSP: Недостаточно доступной памяти для выполнения операции."? Только хэндлеры хранилищ и сертификатов или еще что-то? Ошибка возникла при подписи буфера...


Какой размер буфера?
Код кто будет показывать?

Техническую поддержку оказываем тут
Наша база знаний
Offline sabretoothedhamster  
#3 Оставлено : 10 декабря 2013 г. 8:44:12(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

Извините, нужно было сразу уточнить, что код, в котором произошла эта ошибка (С++/CryptoAPI), прошёл тестирование и уже некоторое время исправно работает. Проблема возникла при повышении нагрузки. Я отнюдь не рассчитываю на чью-то помощь в копании 200K+ исходников. Разбираться придется самим. Пока есть две версии: утечка ресурсов и повреждение памяти. Чтобы поиск ошибки был более предметным, хотелось бы понять, где и что искать. Поэтому мне и интересно, какие именно ресурсы (помимо памяти, доступной через GlobalAlloc/LocalAlloc, и абсолютно точно на момент сбоя имевшейся в избытке) могут исчерпываться "внутри" CryptoPro. Например, что за хэндлеры регулируются с помощью HKLM\SOFTWARE[WOW6432Node]Crypto Pro\Cryptography\CurrentVersion\Parameters\MaxHandles ?

P.S. Размер буфера определяется через CryptMsgCalculateEncodedLength, дальше CryptMsgOpenToEncode, и CryptMsgUpdate, который и возвращает 0x8009000e
P.P.S. Ошибка случилась с CSP 3.6.6497(5359) KC1 x64 под Win2008 R2 SP1
Offline sabretoothedhamster  
#4 Оставлено : 10 декабря 2013 г. 8:49:45(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

И еще - может есть какой-нибудь вызов, позволяющий "мониторить" текущее количество оставшихся в CryptoPro ресурсов?
Offline Максим Коллегин  
#5 Оставлено : 10 декабря 2013 г. 10:13:54(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,457
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
NTE_NO_MEMORY - ошибка выделения памяти.
Скорее всего вы используете функции уровня CryptMsg в непоточном режиме и памяти не хватает им, а не CSP.
MaxHandles - регулирует число хэндлов объектов криптопровайдера. По сути только этот ресурс может иссякать - но тогда получите запись в EventLog.


Знания в базе знаний, поддержка в центре поддержки
thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.
Андрей * оставлено 10.12.2013(UTC)
Offline sabretoothedhamster  
#6 Оставлено : 10 декабря 2013 г. 12:51:40(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

Запись в EventLog появляется. Вопрос про ресурсы и их мониторинг остается актуальным.
Offline Максим Коллегин  
#7 Оставлено : 10 декабря 2013 г. 13:25:16(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,457
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
Нет, такого вызова не предусмотренно.
Знания в базе знаний, поддержка в центре поддержки
Offline sabretoothedhamster  
#8 Оставлено : 10 декабря 2013 г. 13:36:42(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

Печально :(
А на что хендлеры могут потенциально "расходоваться"?
Offline Максим Коллегин  
#9 Оставлено : 10 декабря 2013 г. 18:23:17(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,457
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
Хэндлы используются при создании любого объекта CSP: провайдер, ключ, хэш. Вероятно, в Вашем приложении что-то из этого не освобождается. Или создается одновременно очень много объектов - тогда значение по умолчанию нужно увеличить.

Отредактировано пользователем 10 декабря 2013 г. 18:23:59(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в центре поддержки
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.