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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline wotpopf  
#1 Оставлено : 18 июля 2013 г. 12:28:17(UTC)
wotpopf

Статус: Новичок

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

Добрый день.
Пишем приложение, которое использует несколько операций от CSP, в частности хеширование ГОСТ 3411 (CryptHashData) и проверку подписей ГОСТ 3410 (CryptVerifySignature).
Есть идея не получать каждый раз контекст (HCRYPTPROV), а для них иметь один контекст , сохраняющийся на всем периоде жизни приложения. Таким образом приложение работает гораздо быстрее. Этот контекст будет использоваться только для этих операций.

И, похожий вопрос, можно ли кешировать контексты для подписания по наименованию контейнера? Т.е. если у нас используется всего 3 контейнера, то хотелось бы контексты закешировать и не доставать каждый раз. Контексты для подписания получаем так:
Код:
CryptAcquireContext(
		&hProv,
		сName.c_str(),
		NULL,
		PROV_GOST_2001_DH,
		0)


Чем грозит незакрытие контекстов при закрытии приложения (экстренном, внеплановом), учитывая, что на этой же машине может работать 1-2 таких приложения одновременно?

Спасибо.

PS: еще один вопрос появился: CSP ведь поддерживает многопоточность? Приложение, его использующее, будет многопоточным.

Отредактировано пользователем 18 июля 2013 г. 12:29:28(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#2 Оставлено : 18 июля 2013 г. 13:24:44(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 37 раз
Поблагодарили: 719 раз в 623 постах
Кэшировать VERIFY_CONTEXT - правильное решение.
Кэшировать контексты ключей тоже можно, но тогда их освобождение целиком на совести разработчика - рекомендую в этом случае использовать службу хранения ключей с включенным кэшированием.
Многопоточность конечно же поддерживается.
Знания в базе знаний, поддержка в техподдержке
Offline wotpopf  
#3 Оставлено : 18 июля 2013 г. 13:32:25(UTC)
wotpopf

Статус: Новичок

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

Спасибо, приятно знать.
Чем грозит незакрытие контекстов при закрытии приложения (экстренном, внеплановом), учитывая, что на этой же машине может работать 1-2 таких приложения одновременно?
Вы еще сказали, что "Кэшировать контексты ключей тоже можно, но тогда их освобождение целиком на совести разработчика" - т.е. закрывать контексты хеширования вообще не обязательно? Что будет, если я не освобожу контекст ключа?
Offline Максим Коллегин  
#4 Оставлено : 18 июля 2013 г. 13:42:56(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 37 раз
Поблагодарили: 719 раз в 623 постах
В случае нештатной работы приложения повышается вероятность попадание конфиденциальной информации на диск/в канал связи.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.