Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2014, 22:44   #1
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию CryptoAPI. Экспорт существующег ключа.

Всем доброго.
Задача следующая: Сгенерировать ключ один раз, и вытаскивать его множество раз.

Генерация производится по схеме:
1) CryptAcquireContext(...Указываю имя контейнера...) -
2) CryptGenKey(Пров, AT_KEYEXCHANGE, CRYPT_EXPORTABLE, key)
3) CryptGetUserKey(Пров, AT_KEYEXCHANGE, key)
4) CryptExportKey(...key)
5) Запись экспортированного в файл.

Так то оно работает, если я генерирую ключ и сразу его записываю. И я знаю что ключ этот в контейнере сохраняется.

Вот вопрос: Как мне получить его без повторной генерации (ессно учитывая что до генерации его еще удалить нужно)?

Все дело в том что при генерации я в CryptAcquireContext передаю влаг CRYPT_NEWKEYSET.

А потом когда просто подключаюсь к контейнеру флаг устанавливаю CRYPT_VERIFYCONTEXT. Но получаю ошибку:
Цитата:
CryptAcquireContext error: Указаны неправильные флаги.
Здесь список флагов есть: http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Но я никак не могу понять какой-же флаг нужно ставить.

Опираюсь на такой пример: http://citforum.ru/security/articles...ense/list6.htm
В котором все банально :
Цитата:

"считываем" имя контейнера и подключаемся к нему
Так вот сам вопрос: А какой же флаг нуно передавать при подключении, чтоб открыть контейнер для считывания ключей?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.10.2014, 23:17   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

NULL или CRYPT_MACHINE_KEYSET для получения ключей любого пользователя.
Человек_Борща вне форума Ответить с цитированием
Старый 22.10.2014, 20:47   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Жаль проставиться не могу.
Это преодолел - пойду завтра дальше.
Меня ждет в МСДН ось ця кралечка: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Будем осваивать аккуратно но сыльно (га-га)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CryptoApi Дмитрий5040 Общие вопросы Delphi 1 07.02.2013 02:36
C++ CryptoAPI Экспорт сессионного ключа в строку.. idec Помощь студентам 0 07.06.2012 11:43
Сертификат CryptoApi Dianochka Помощь студентам 0 13.05.2012 12:39
CryptoApi с++ Экспорт ключа шифрования Dianochka Помощь студентам 0 24.04.2012 09:58
CryptGenRandom,CryptoAPI tiger Помощь студентам 0 25.05.2011 00:10