WlanSetProfileEapXmlUserData function from wlanapi.dll works only on 32-bit.

M

MariusTUNEA

Hello all,

I'm developing a WPF application which is a wrapper for Windows Wireless functionality.

I am trying to connect to an Eap-Peap-Mschapv2 wireless network.


When I'm trying to add the EAP Profile with WlanSetProfileEapXmlUserData function from wlanapi.dll, if my app is configured as Any-Cpu - without Prefer 32-bit, the WlanSetProfileEapXmlUserData method returns always error code 1206 (Profile Corrupted).

If I change the platform to Any-Cpu - Prefer 32-bit the WlanSetProfileEapXmlUserData works as expected.


WlanSetProfileEapXmlUserData is not supported on 64-bit or it's a known issue?


Below, I will add the profiles that we are generating:


WlanProfile


<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">

<name>TestMSCHAPV2</name>

<SSIDConfig>

<SSID>

<hex>546573744D53434841505632</hex>

<name>TestMSCHAPV2</name>

</SSID>

<nonBroadcast>false</nonBroadcast>

</SSIDConfig>

<connectionType>ESS</connectionType>

<connectionMode>auto</connectionMode>

<MSM>

<security>

<authEncryption>

<authentication>WPA2</authentication>

<encryption>AES</encryption>

<useOneX>true</useOneX>

</authEncryption>

<PMKCacheMode>enabled</PMKCacheMode>

<PMKCacheTTL>720</PMKCacheTTL>

<PMKCacheSize>128</PMKCacheSize>

<preAuthMode>disabled</preAuthMode>

<OneX xmlns="http://www.microsoft.com/networking/OneX/v1">

<cacheUserData>true</cacheUserData>

<authMode>user</authMode>

<EAPConfig>

<EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">

<EapMethod>

<Type xmlns="http://www.microsoft.com/provisioning/EapCommon">25</Type>

<VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId>

<VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType>

<AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId>

</EapMethod>

<Config>

<Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">

<Type>25</Type>

<EapType xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1">

<ServerValidation>

<DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>

<ServerNames></ServerNames>

</ServerValidation>

<FastReconnect>false</FastReconnect>

<InnerEapOptional>false</InnerEapOptional>

<Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">

<Type>26</Type>

<EapType xmlns="http://www.microsoft.com/provisioning/MsChapV2ConnectionPropertiesV1">

<UseWinLogonCredentials>false</UseWinLogonCredentials>

</EapType>

</Eap>

<EnableQuarantineChecks>false</EnableQuarantineChecks>

<RequireCryptoBinding>false</RequireCryptoBinding>

<PeapExtensions>

<PerformServerValidation xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</PerformServerValidation>

<AcceptServerName xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</AcceptServerName>

<PeapExtensionsV2 xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">

<AllowPromptingWhenServerCANotFound xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV3">true</AllowPromptingWhenServerCANotFound>

</PeapExtensionsV2>

</PeapExtensions>

</EapType>

</Eap>

</Config>

</EapHostConfig>

</EAPConfig>

</OneX>

</security>

</MSM>

<MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3">

<enableRandomization>false</enableRandomization>

<randomizationSeed>443648013</randomizationSeed>

</MacRandomization>

</WLANProfile>


Eap Profile


<?xml version="1.0" ?>

<EapHostUserCredentials xmlns="http://www.microsoft.com/provisioning/EapHostUserCredentials"

xmlns:eapCommon="http://www.microsoft.com/provisioning/EapCommon"

xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapMethodUserCredentials">

<EapMethod>

<eapCommon:Type>25</eapCommon:Type>

<eapCommon:AuthorId>0</eapCommon:AuthorId>

</EapMethod>

<Credentials xmlns:eapUser="http://www.microsoft.com/provisioning/EapUserPropertiesV1"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapUserPropertiesV1"

xmlns:MsPeap="http://www.microsoft.com/provisioning/MsPeapUserPropertiesV1"

xmlns:MsChapV2="http://www.microsoft.com/provisioning/MsChapV2UserPropertiesV1">

<baseEap:Eap>

<baseEap:Type>25</baseEap:Type>

<MsPeap:EapType>

<MsPeap:RoutingIdentity>TestUsername</MsPeap:RoutingIdentity>

<baseEap:Eap>

<baseEap:Type>26</baseEap:Type>

<MsChapV2:EapType>

<MsChapV2:Username>TestUsername</MsChapV2:Username>

<MsChapV2:password>TestPassword</MsChapV2:password>

<MsChapV2:LogonDomain></MsChapV2:LogonDomain>

</MsChapV2:EapType>

</baseEap:Eap>

</MsPeap:EapType>

</baseEap:Eap>

</Credentials>

</EapHostUserCredentials>

Continue reading...
 
Back
Top Bottom