Расшифруйте ключ профиля WEP WLAN с помощью CryptUnprotectData

Я пытаюсь расшифровать ключ профиля WEP с помощьюCryptUnprotectData, Я получил ключ профиля, экспортировав профиль с помощью netsh.

netsh wlan export profile name="MyWEP" folder="./"

На данный момент я вручную скопировал материал ключа из XML-файла, сгенерированного командой netsh, в свою программу. И, кстати, я расшифровываю это -

DATA_BLOB DataOut, DataVerify;
DataOut.cbData = encryptData.length();
DataOut.pbData = (BYTE*)("I_Manually_Copy_The_WEP_Key_Here");

if (CryptUnprotectData( &DataOut,
                        NULL,
                        NULL,
                        NULL,
                        NULL,
                        0,
                        &DataVerify))
{
    printf("The decrypted data is: %s\n", DataVerify.pbData);
}
else
{
    printf("Failed. Error Code: %d", GetLastError());
}

Но я получаю код ошибки13 ссылаясь на неверные данные. Что я делаю неправильно ? На Win 7 и позже я могу напрямую использоватьWlanGetProfile с параметромWLAN_PROFILE_GET_PLAINTEXT_KEY , Но у меня естьNO вариант наVista чем использовать функцию CryptUnprotectData. Я видел похожие постыВот, Вот но не получил много полезной информации. Кроме того, я использую ту же систему с теми же учетными данными пользователя. Может ли кто-нибудь предложить мне, как действовать?

PS: я разместил тот же вопрос на форумах Windows Desktop SDK, но пока не получил ответа. Испытываю удачу на ТАК.

Ответы на вопрос(1)

Ваш ответ на вопрос