30.10.2006 8:43:25 | Дополнительный поиск секретного ключа в реестре. | | Ответов: 8 |
|
AleKo | | |
|
Добрый день.
Когда устанавливал сертификат то указывал контейнер на дискете. Далее мной контейнер был скопирован в реестр средствами КриптоПРО CSP 2.0. При попытке расшифровать сообщение функцией CryptDecryptMessage появляется интерфейс для выбора контейнера на дискете и только.
Каким образом можно задать место поиска секретного ключа в реестре?
Если связать контейнер в реестре и сертификат в хранилище такой ситуации не возникает.
|
|
Ответы:
|
30.10.2006 10:44:56 | Kirill Sobolev |
|
CryptDecryptMessage работает не с контейнерами а с сертификатами. Соответственно, контейнер будет использован тот на который ссылается найденный сертификат. Если Вам нужно работать именно с контейнерами, то используйте функции более низкого уровня. |
|
|
А такой вариант.
При вызове CryptAcquireContext я укажу контейнер в реестре. При дешифровании это ключ сработает с найденным сертификатом?
|
|
30.10.2006 11:21:58 | Kirill Sobolev |
|
Нет - как Вы укажете CryptDecryptMessage что надо использовать именно этот контейнер? |
|
|
Сначало получаем кортекст криптопровайдера с указанем контейнера, затем получаем контекст хранилища где искать сертификаты с использованием контекста провайдера, контекст хранилища ставим в структуру которая подставляется в CryptDecryptMessage, кажется первый параметр. |
|
30.10.2006 14:35:46 | Kirill Sobolev |
|
Нет, хэндл переданный в CertOpenSystemStore на это не повлияет. |
|
|
А могу я ручками поменять связку криптоконтейнер - сертификат (место расположения Private Key), и какими средствами она меняется? |
|
31.10.2006 10:03:31 | Kirill Sobolev |
|
Конечно
http://www.cryptopro.ru/cryptopro/forum/view.asp?q=81 |
|
|
Ок. Спасибо. Схема понятна. |
|