Configuré Radius Server en Windows Server 2016 y quiero conectarme a la red WiFi empresarial usando mi aplicación. Intenté seguir los siguientes pasos:
Configure el perfil sin credenciales usandoPerfilWlanSet(Usé un perfil importado de netsh con algunas modificaciones)
Luego configure el perfil xml a continuación con mi nombre de usuario y contraseña paraWlanSetProfileEapXmlUserData:
<?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>26</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>26</baseEap:Type>
<MsChapV2:EapType>
<MsChapV2:Username>test</MsChapV2:Username>
<MsChapV2:Password>test</MsChapV2:Password>
</MsChapV2:EapType>
</baseEap:Eap>
</Credentials>
</EapHostUserCredentials>
entonces usoConexión Wlanfunción y función de devolución de llamada para verificar la conexión. Al conectarme me sale el siguiente problema:
NotificationCode devuelve el código 8 (wlan_notification_acm_scan_fail) y luego 11 (wlan_notification_acm_connection_attempt_fail).
Además, de documentos de MS:
wlan_notification_acm_scan_fail:
Error en la búsqueda de redes conectables.
El miembro pData de la estructura WLAN_NOTIFICATION_DATA apunta a un valor de tipo de datos WLAN_REASON_CODE que identifica el motivo por el que falló la operación WLAN.
Entonces, revisé pData cuando ocurre este problema y devuelve el siguiente motivo:
wlan_notification_acm_scan_fail "La operación fue exitosa."
Pero la red no está conectada. Gracias de antemano por tu ayuda.
Respuesta1
He solucionado este problema. El problema se debió a que PerformServerValidation estaba configurado en verdadero y mostraba el cuadro de diálogo de notificación para verificar el certificado en Windows, por eso devolvió:
wlan_notification_acm_scan_fail "La operación fue exitosa."
Configurar PerformServerValidation en falso solucionó el problema (función WlanSetProfile).
<PerformServerValidation xmlns=\"http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2\">false</PerformServerValidation>
Además, para la función WlanSetProfileEapXmlUserData proporcioné este perfil:
<?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>
<baseEap:Eap>
<baseEap:Type>26</baseEap:Type>
<MsChapV2:EapType>
<MsChapV2:Username>username</MsChapV2:Username>
<MsChapV2:Password>password</MsChapV2:Password>
</MsChapV2:EapType>
</baseEap:Eap>
</MsPeap:EapType>
</baseEap:Eap>
</Credentials>
</EapHostUserCredentials>
Ahora se conecta correctamente a la red empresarial. El problema está resuelto. Gracias.