netsh wlan добавить профиль, не импортирующий зашифрованную фразу-пароль
Я экспортировал профиль беспроводного сетевого соединения с компьютера с Windows 7, правильно подключенного к сети WiFi с парольной фразой WPA-TKIP. Экспортированный файл XML показывает правильные настройки и keyMaterial
узел, о котором я могу только догадываться, является зашифрованной парольной фразой.
Когда я беру xml на другой компьютер с Windows 7 и импортирую его, используя netsh wlan add profile filename="WiFi.xml"
, он правильно добавляет SSID профиля и тип шифрования, но всплывает всплывающее окно, сообщающее, что мне нужно ввести ключевую фразу.
Есть ли способ импортировать фразу-пароль вместе со всеми другими настройками или я что-то упускаю при добавлении профилей?
Вот экспортированный XML с удаленной личной информацией:
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>[removed]</name>
<SSIDConfig>
<SSID>
<hex>[removed]</hex>
<name>[removed]</name>
</SSID>
<nonBroadcast>false</nonBroadcast>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<autoSwitch>false</autoSwitch>
<MSM>
<security>
<authEncryption>
<authentication>WPAPSK</authentication>
<encryption>TKIP</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>true</protected>
<keyMaterial>[removed]</keyMaterial>
</sharedKey>
</security>
</MSM>
</WLANProfile>
Любая помощь или совет приветствуется. Благодарю.
Обновление: кажется, если я экспортирую настройки, используя key=clear
, пароль хранится в файле без защиты, и я могу импортировать файл на другом компьютере без проблем. Я обновил свой вопрос, чтобы отразить мои выводы.
4 ответа
Просто используйте key=clear
параметр при экспорте профилей.
netsh wlan export profile key=clear
Теперь ключевая фраза / ключ будет храниться в файле (ах) XML в открытом виде. Когда вы импортируете профиль (как указано выше), вам не будет предложено ввести фразу-пароль.
Проблема в том, что зашифрованный пароль был зашифрован с помощью машинного ключа на машине, с которой вы экспортировали конфигурацию. Вы можете импортировать этот XML-файл обратно на тот же компьютер, и он будет работать нормально. Но он не будет работать на другом компьютере, потому что второй компьютер не имеет того же ключа, специфичного для компьютера, и не может расшифровать пароль.
Я не совсем уверен, что netsh использует в качестве машинно-зависимого ключа или возможно ли его клонировать из одной системы в другую.
Райан прав в том, что ключ имеет машинное шифрование. Вот решение:
Откройте файл XML и найдите следующую строку:
<protected>true</protected>
Измените это на:
<protected>false</protected>
Под вами появится зашифрованная строка:
<keyMaterial>01000000D08C9DDF0115D1118</keyMaterial>
Замените его на свой ключ в виде обычного текста:
<keyMaterial>Yourkey</keyMaterial>
Примечание. Это означает, что ваш беспроводной ключ будет в открытом виде, и каждый, кто имеет доступ к файлу, сможет прочитать ваш беспроводной ключ. Но это работает!
Я успешно использовал API-интерфейс беспроводной локальной сети на своих компьютерах с Windows XP, надеюсь, он вам тоже поможет (еще не протестирован на Win7)
РЕДАКТИРОВАТЬ:
Я знаю, странно, что он написан парнем из Symantec, но что поделаешь:)