28.04.2007 10:51:35Экспорт сессионного ключа Ответов: 7
Макаров Антон
В форуме для экспорта сессионного ключа посоветовали использовать последовательность функций:
CPGetUserKey(hProv, AT_KEYEXCHANGE, &hUserKey);
CPGenKey(hProv, CALG_G28147, CRYPT_EXPORTABLE, &hSessionKey);
CPImportKey(hProv, pbRecipentPublicKey, cbRecipentPublicKey, hUserKey, 0, &hExchKey);

Если я пытаюсь вызвать эти функции, компилятор выдает мне ошибку. Возможно нужно подключить какую-то библиотеку. Какая это должна быть библиотека и где ее найти? Заранее спасибо!
 
Ответы:
28.04.2007 12:06:00Kirill Sobolev
А какую ошибку? Возможно wincrypex.h Вам поможет
http://www.cryptopro.ru/cryptopro/forum/view.asp?q=2423
28.04.2007 12:54:13Антон Макаров
У меня говорит что функция CPGetUserKey не обнаружена. Попробую описание функции выдернуть из файла примера по вашей ссылке. Спасибо!
28.04.2007 13:29:19Kirill Sobolev
Нет, CP* функций там нет. Пользуйтесь лучше CryptoAPI, точно такие же функции только с префиксом Crypt.
28.04.2007 14:32:19Антон Макаров
В ветке http://crypto-pro.ru/cryptopro/forum/view.asp?q=608 написано: Приведенный Вами вариант в СКЗИ КриптоПро CSP сделать не получиться, эта функциональность специально закрыта. Вам необходимо воспользоваться алгоритмом с приведенным ниже описанием. Поэтому и смотрю в сторону этих функций, т.к. сессионый ключ по-другому не экспортируется. Подскажите что делать если я не прав.
28.04.2007 15:35:06Антон Макаров
Т.е. с использований функций начинающихся на Crypto у меня не проходит импорт блоба открытого ключа отправителя на своей ключевой паре. Поэтому я решил попробовать функции CP*. Может я не прав? И надо было разбираться с Crypto*? Пока не получается ни то ни то... :(
28.04.2007 15:41:13Kirill Sobolev
Там имелось ввиду не пройдет схема экспорта сессионного ключа на открытом/секретном ключе, нужен ключ обмена. Функции Crypt* - это оболочка MS Windows CryptoAPI над CP* функциями провайдера, т.е. все равно все делают СР* функции.
28.04.2007 16:02:30Антон Макаров
Спасибо за разъяснения! Буду разбираться почему не импортируется ключ...