| ||||
| ||||
использую CSP КриптоПро для организации защищенного обмена между двумя сторонами. хотелось бы этот процесс автоматизировать, имеется в виду что сообщения должны шифроваться и подписываться автоматически, без участия человека. в случае когда секретные ключи хранятся в реестре проблем нет. В случае когда они на каком то внешнем носителе хотелось бы чтобы при запуске программы 1 раз (!!!) вываливалось окно криптоПро с запросом носителя, а после этого секретный ключ где то сохранялся (в памяти компьютера, временном хранилище) и в последствии при шифровании сообщений или расшифровке носитель уже не запрашивался. вопрос - как такой алгоритм можно реализовать? я пользуюсь высокоуровневыми функциями CryptoAPI типа (CryptDecryptMessage, CryptEncryptMessage) заранее благодарен. | ||||
Ответы: | ||||
| ||||
Включите кэширование в КриптоПро CSP. Тогда при первом обращении к ключам после перезагрузки Windows они будут закэшированы в оперативной памяти специальной службы CSP. Это можно сделать на вкладке "Безопасность" окна свойств КриптоПро CSP, доступного через панель управления (данноая возможность доступна в CSP версии 2.0 или версии 3.0 для КС2) | ||||
| ||||
у меня в закладке "Безопасность" только выбор криптопровайдера по умолчанию и флаг "Проверять корректность открытого ключа" версия КС1 3.0.3293 | ||||
| ||||
Для CSP 3.0 КС1 кеширования нет. Можно рассмотреть такой вариант. Если Ваша программа не будет закрывать контекст контейнера, то этот контейнер будет доступен программе без чтения с носителя и ввода пароля. | ||||