У вас вопросы?
У нас ответы:) SamZan.net

MessgeOut Ошибка при CryptHshDt

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 3.7.2025

cin»KeyFrase ;

HCRYPTHASH hash=O; // дескриптор хеш-значения if (!CryptCreateHash(hProv, CALG_SHA, 0, 0, Shash)) { cout<<MessageOut("Ошибка при CryptCreateHash!\n"); getch(); return; }

if(!CryptHashData(hash,  (BYTE*)KeyFrase,  strlen (KeyFrase),0)) {

cout«MessageOut ("Ошибка при CryptHashData ! \n") ; getch(); return; }

// создание сеансового ключа HCRYPTKEY hKey=O;

if(ICryptDeriveKey(hProv,  CALG_RC4,  hash,  CRYPT_ EXPORTABLE | CRYPT_CREATE_SALT/ ShKey)) { cout<<MessageOut("Ошибка при CryptDeriveKey!\n"); getch (); return; }

// разрушение хеш-значения if (hash) CryptDestroyHash(hash);

/* получение (создание при первом обращении) пары ключей обмена .*/

HCRYPTKEY hExpKey=0; /* дескриптор открытого ключа обмена */

HCRYPTKEY hSignKey=0; /* дескриптор открытого ключа ЭЦП */

if(!CryptGetUserKey(hProv, AT_KEYEXCHANGE, ShExpKey)) if((unsigned)GetLastError()==NTE_NO_KEY) if ( !CryptGenKey(hProv, AT_KEYEXCHANGE, 0, ShExpKey)) { cout«MessageOut ("Ошибка при создании ключей"\ "обмена через CryptGenKey!\п"); getch(); return; } else; else {

cout<<MessageOut("Ошибка при получении ключей"\ "обмена через CryptGetUserKey!\n"); getch (); return; }

/* получение (создание при первом обращении) пары ключей ЭЦП */

if(!CryptGetUserKey(hProv, AT_SIGNATURE, ShSignKey)) if((unsigned)GetLastError()==NTE_NO_KEY) if(!CryptGenKey(hProv, AT_SIGNATURE, 0, ShSignKey)) { cout<<MessageOut("Ошибка при создании ключей"\ подписи через CryptGenKey!\n");

 getch();

return; }

else;

else {

cout«MessageOut ("Ошибка при получении ключей"\

"подписи через CryptGetUserKey!\п");

getch();

return; }

/* выполнение криптографических операций {см. подразд.

5.3 и 5.4)*/

II разрушение сеансового ключа

if(hKey) CryptDestroyKey(hKey);

// разрушение дескрипторов открытых ключей

if (hExpKey) CryptDestroyKey(hExpKey);

if(hSignKey) CryptDestroyKey(hSignKey);

// освобождение CSP

if(hProv) CryptReleaseContext(hProv, 0);

return; }

Для организации обмена открытыми ключами асимметричного шифрования возможны как использование удостоверяющих центров (см. подразд. 4.8), так и передача открытых ключей напрямую между пользователями:

отправитель экспортирует из криптопровайдера свой откры
тый ключ в форме блоба (типа
PUBLICKEYBLOB) с помощью
функции
CryptExportKey;

блоб посылается получателю по защищенному каналу связи
(например, в зашифрованном виде с помощью сеансового клю
ча, генерируемого из специальной ключевой фразы, или в от
крытом виде с возможной конвертацией в текстовый формат);

получатель блоба импортирует его в свой криптопровайдер
с помощью функции
CryptlmportKey.

Для передачи сеансового ключа также могут применяться два способа. Первый способ: отправитель создает случайный сеансовый ключ (с помощью функции CryptGenKey), зашифровывает его при помощи ранее полученного открытого ключа получателя (используется функция CryptExportKey) в виде блоба типа SIMPLpBLOB, отправляет блоб получателю, который расшифровывает сеансовый ключ с помощью своего секретного ключа обмена (используется функция CryptlmportKey). Для снижения риска повторной посылки нарушителем перехваченного им ранее блоба с сеансовым ключом и зашифрованного с помощью этого ключа сообщения можно использовать отметки времени (аналогично протоколу Kerberos, см. подразд. 2.5) или последовательную нумерацию сообщений на основе случайного начального значения.




1. Психология Москва 1999 Р
2. КОНЬЮНКЦИЯ ДИЗЮНКЦИЯ Ж~НЕ ТЕРІСТЕУ ФУНКЦИЯСЫНЫ~ ЛОГИКАЛЫ~ ЭЛЕМЕНТТЕРІ
3. реферат дисертації на здобуття наукового ступеня кандидата медичних наук Київ ~ 2003
4. ы ж. Сходное с лягушкой бесхвостое земноводное с бородавчатой кожей
5. Заповідники України
6. Тема- Автоматизація обліку витрат на оплату праці і відрахувань в соціальні фонди з використанням 1С- Бухгал
7. сибирскими это название они носят по нынешний день
8. Вариант 14 На предприятии находится емкость в которой содержится под давлением сжиженный пропан
9. Динамика товарная и географическая структура внешней торговли РФ
10. Теоретические основы методики тактико-технической подготовки тренеров по борьбе