У меня есть открытый ключ, и я хочу использовать его для шифрования фрагмента данных.Я пытаюсь импортировать открытый ключ, чтобы использовать его, но CryptImportKey выдает мне ошибку «неверный параметр».
В чем проблема?
Вот мой код:
if( !CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT) )
{
/*
* Print error and return
*/
}
pblob->header->bType = PUBLICKEYBLOB;
pblob->header->aiKeyAlg = CALG_AES_128;
pblob->header->bVersion = CUR_BLOB_VERSION;
pblob->header->reserved = 0;
pblob->key_len = key_len;
memcpy(pblob->key, key , key_len);
if( !CryptImportKey( &hProv,
(LPCBYTE)pblob,
sizeof(*pblob),
0,
CRYPT_EXPORTABLE,
&hKey ) )
{
// Print error and return
}