I am trying to connect to Enterprise network on android using WiFiManager on Android.
@RequiresApi(api = 29)
public static boolean connectToEnterprise(Context context, String ssid, String identity, String password) {
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig();
enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.PEAP);
enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.MSCHAPV2);
enterpriseConfig.setIdentity(identity);
enterpriseConfig.setPassword(password);
enterpriseConfig.setCaCertificate(null);
WifiNetworkSuggestion.Builder builder = new WifiNetworkSuggestion.Builder();
builder.setSsid(ssid);
builder.setWpa2EnterpriseConfig(enterpriseConfig);
List<WifiNetworkSuggestion> wifiSuggestionsList = new ArrayList<>();
wifiSuggestionsList.add(builder.build());
int result = wifiManager.addNetworkSuggestions(wifiSuggestionsList);
if (result == WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS) {
return true;
} else {
return false;
}
}
Error
java.lang.IllegalArgumentException: Enterprise configuration mandates server certificate but validation is not enabled.
I expected it to connect to Wifi Network, but it is throwing this error. I don't know how to give sever certificate.