1

我在连接到仅使用 AES 时遇到问题。我可以使用 WPA2 (TKIP) 而不是 (CCMP) 成功连接。如果我在最后注释掉两条 TKIP 行,我将无法再连接。我想知道 CCMP 是否完全在 Android 中实现?

private WifiConfiguration getWifiConfiguration(ScanResult result, String password) {
  WifiConfiguration config = new WifiConfiguration();

  config.allowedAuthAlgorithms.clear();
  config.allowedGroupCiphers.clear();
  config.allowedKeyManagement.clear();
  config.allowedPairwiseCiphers.clear();
  config.allowedProtocols.clear();

  config.SSID = "\"" + result.SSID + "\"";
  config.BSSID = result.BSSID;
  config.preSharedKey = "\"" + password + "\"";
  config.status = WifiConfiguration.Status.ENABLED;
  config.hiddenSSID = false;

  config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
  config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
  config.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
  config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
  config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
  config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
  config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
  return config;
}
4

1 回答 1

1

好的,不能只支持 AES。AES 工作需要同时支持 CCMP 和 TKIP。

于 2014-10-05T00:09:05.333 回答