25.12.2006 11:26:39сохранение секретного ключа в памяти Ответов: 3
Шелковский Степан
использую CSP КриптоПро для организации защищенного обмена между двумя сторонами. хотелось бы этот процесс автоматизировать, имеется в виду что сообщения должны шифроваться и подписываться автоматически, без участия человека. в случае когда секретные ключи хранятся в реестре проблем нет. В случае когда они на каком то внешнем носителе хотелось бы чтобы при запуске программы
1 раз (!!!) вываливалось окно криптоПро с запросом носителя, а после этого секретный ключ где то сохранялся (в памяти компьютера, временном хранилище) и в последствии при шифровании сообщений или расшифровке носитель уже не запрашивался.

вопрос - как такой алгоритм можно реализовать?
я пользуюсь высокоуровневыми функциями CryptoAPI
типа (CryptDecryptMessage, CryptEncryptMessage)

заранее благодарен.
 
Ответы:
25.12.2006 13:02:21Юрий Маслов
Включите кэширование в КриптоПро CSP. Тогда при первом обращении к ключам после перезагрузки Windows они будут закэшированы в оперативной памяти специальной службы CSP. Это можно сделать на вкладке "Безопасность" окна свойств КриптоПро CSP, доступного через панель управления (данноая возможность доступна в CSP версии 2.0 или версии 3.0 для КС2)
26.12.2006 10:15:55Шелковский Степан
у меня в закладке "Безопасность" только выбор криптопровайдера по умолчанию и флаг "Проверять корректность открытого ключа"

версия КС1 3.0.3293
26.12.2006 11:10:08Василий
Для CSP 3.0 КС1 кеширования нет.
Можно рассмотреть такой вариант.
Если Ваша программа не будет закрывать контекст контейнера, то этот контейнер будет доступен программе без чтения с носителя и ввода пароля.