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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Jin  
#11 Оставлено : 28 мая 2010 г. 15:37:24(UTC)
Jin

Статус: Активный участник

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

Стоп, но мы же говорит о дубликате он уже не должен иметь отошения к хранилищу из которого получен оригинал, не понимаю ....
Offline Jin  
#12 Оставлено : 28 мая 2010 г. 15:39:34(UTC)
Jin

Статус: Активный участник

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

Самое интересное то что вы правы, закоментировал строчку освобождения контекста хранилища:
CMSWin32.CertCloseStore(hStore,CMSWin32.CERT_CLOSE_STORE_FORCE_FLAG);

И ошибка перестала вылетать))

Offline Максим Коллегин  
#13 Оставлено : 28 мая 2010 г. 15:42:36(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Функция DuplicateContext только увеличивает счетчик ссылок - новый объект не создается.
Знания в базе знаний, поддержка в техподдержке
Offline Jin  
#14 Оставлено : 28 мая 2010 г. 15:53:32(UTC)
Jin

Статус: Активный участник

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

Хорошо, но на самом деле причём тут хранилище и его закрытие, ведь мы же получили сертификат и разве не можем закрыть храниище.
Разве нельзя открыть хранилище, найти в нём сертификат, получить контекст сертификата , закрыть хранилище и продолжать работать с сертификатом?
Неужели необходимо закрывать хранилище в самом конце использования сертификата?
Offline Jin  
#15 Оставлено : 28 мая 2010 г. 16:44:02(UTC)
Jin

Статус: Активный участник

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

Всё нашёл косяк, в функции закрытия хранилища
CMSWin32.CertCloseStore(hStore,CMSWin32.CERT_CLOSE_STORE_FORCE_FLAG);

передаётся вот этот флаг: CMSWin32.CERT_CLOSE_STORE_FORCE_FLAG
он указывает на то что функция должна принудительно освободить всю память выделенную по сертификаты извлечённые из хранилища,
поэтому использовать их потом уже нельзя.
А мне наоборот его нужно использовать и я сам поабочусь о его освобождении, точнее это сделает за меня X509Certificate

Убрал этот флаг и всё вообще стало классно, и хранилище как надо закрывается и сертификатом можно пользоваться )))
Спасибо за поддержку...

Отредактировано пользователем 28 мая 2010 г. 16:44:56(UTC)  | Причина: Не указана

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