android peap,Android连接IEEE8021X PEAP  无感知WiFi

受保护的可扩展的身份验证协议 (PEAP) 是可扩展的身份验证协议 (EAP) 家族的一个新成员。PEAP 使用传输级别安全性

(TLS) 在正在验证的 PEAP 客户端(例如无线计算机)和 PEAP 身份验证器(例如 Internet 验证服务 (IAS)

或远程验证拨号用户服务 (RADIUS) 服务器)之间创建加密通道。PEAP 不指定验证方法,但是会为其他 EAP

验证协议提供额外的安全性,例如 EAP-MSCHAPv2 协议,该协议可以通过 PEAP 提供的 TLS

加密通道得以实现。

PEAP和其他普通WiFi最大的显著区别就是他需要账号和密码来连接WiFi,普通WiFi仅仅需要知道WiFi密码即可。无感知主要区别于WEB认证方式的WiFi,WEB认证的WiFi需要脸上WiFi后,打开浏览器输入账号密码进行登录。PEAP可以直接在系统中配置账号密码直接连接登录,更加方便快捷。

目前CMCC-AUTO在使用PEAP

WiFi。最近在做如何用代码连接CMCC-AUTO这样的WiFi。普通WiFi连接配置WifiConfiguration即可链接使用,但是这样并无法配置连接PEAP。不过手机是支持这样的连接呢。谷歌在Android4.3之后也开放了链接此类型WiFi的方法。使用WifiEnterpriseConfig来进行配置。

下面是在Android4.3之后连接PEAP WiFi的方法。

WifiConfiguration config = new

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

= "\"" SSID

"\"";config.allowedKeyManagement.set(KeyMgmt.WPA_EAP);config.allowedKeyManagement.set(KeyMgmt.IEEE8021X);WifiEnterpriseConfig

enterpriseConfig = new

WifiEnterpriseConfig();enterpriseConfig.setIdentity(username);enterpriseConfig.setPassword(password);enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.PEAP);config.enterpriseConfig

= enterpriseConfig;

既然低版本的Android手机已经支持连接PEAP

WiFi,想必这样的方法在系统中本身已经存在了。只是谷歌在Android4.3以后才开放给开发者。那我们就可以利用反射的方法去调用WifiEnterpriseConfig。这样可以更好的支持低版本手机的使用。

下面是在低版本Android中使用反射的方法去生成连接PEAP WiFi所用的WiFiConfiguration。

package com.example.eap_wifi;import java.lang.reflect.Field;import

java.lang.reflect.Method;import

android.net.wifi.WifiConfiguration;import android.util.Log;public

class WPAConfiguration { private static final String

INT_PRIVATE_KEY = "private_key"; private static final String

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值