概述
在本教程中,将展示如何在Android设备上安装用户证书,并使用该证书进行EAP-TLS认证接入无线网络。EAP-TLS是无线网络中较为安全的一种认证方法,但是该方法需要在服务器和每个客户端设备上的安装证书。
如果你没有RADIUS服务器和证书颁发机构,那么可以考虑在Windows Server 2008服务器中参考我之前的的教程《PEAP and EAP-TLS on Windows Server 2008 tutorial》 。在本教程中我将使用Windows Server 2008服务器上运行证书服务来生成Android设备的客户端证书。
本教程涉及以下三种设备:
- android设备:我正在使用的三星Galaxy S3,操作系统为Android4.x。
- 证书颁发机构:用于生成用户证书。使用Windows Server2008 R2 服务器
- Windows PC:用于请求Android设备上的用户证书。使用Windows 7计算机。
然后,我们需要两种类型证书:用户证书和根CA,用户证书用于验证用户,根CA证书则用于创建了自己的证书颁发机构。我们首先介绍何如创建一个用户证书。
在windows 7上生成用户证书
首先,我们为Android设备生成用户证书,使用Windows7连接到证书颁发机构,请求用户证书。我将使用Web方式申请,因为它可能是申请用户证书的最方便的一种方法。打开网页浏览器,打开http://你的服务器IP/ certsrv,输入用户帐户和密码。图中使用的用户名是android。
点击 request a certificate链接继续。
点击User Certificate链接继续。
浏览器会弹出请求证书的警告信息,点击yes就可以。
最后就是准备提交你的请求,点击submit按钮继续。
你的用户证书已经生成后,浏览器提示是否安装你的用户证书,点击 Install this Certificate 继续。
如果操作都正确的话,将会看的你的用户证书已成功安装的信息。
现在,这台windows7已经有了用户证书,我们将导出这个证书并将其导入到我们的Android设备上。
导出证书
我们Android设备需要用户证书和生成该用户的颁布机构上的根CA证书 ,下面我讲使用完的windows 7来导出这两个证书,首先,我们先导出用户证书。
导出用户证书
我将使用windows7上的证书管理服务查看并导出证书.
点击开始 > 输入CERTMGR.MSC后回车。
打开证书管理后,点击个人> 证书,可以看的我们为android用户生产的用户证书。
选择用户证书,鼠标点击右键选择导出。
可以看的导出向导,点击下一步继续。
然后会提示你是否导出用户证书的私钥,选择是,导出私钥,点击下一步继续。
下一步将选择证书的格式,选择的pkcs#12,并选择“安装证书路径中的所有证书,如果可能”和“导出所有扩展属性”,点击下一步继续。
这一步将需要输入保护证书密钥的密码,输入一个安全的密码,然后点击下一步继续。
这一步需要输入证书文件的名称,我使用Android,点击下一步继续。
最后,导出完成,点击完成继续。
现在,我们已经成功导出来android设备的用户证书,然后我们还需要导出根CA证书。
导出根CA证书
如果你没有根CA证书,你需要从你的证书授权服务器或windows 7电脑上将该证书导出。我的另一篇文章《如何安装PEAP和EAP-TLS在windows server2008》有讲怎么导出,可以看下客户的无线配置部分。.
一旦完成,你应该已经有以下两个文件:
- pfx格式的用户证书.
- der格式的根CA证书.
然后,我们开始将这两个证书导入Android设备。
导入证书到Android设备
大部分的Android设备只能从SD卡中倒入证书文件。我现在使用的是运行Android 4.x的三星S3手机,但是运行Android 4.x版本的设备倒入的方式都类似。
首先,你需要将这两个证书拷贝到android设备上,我这里例子是拷贝的手机内置的内存中,但是你可以可以拷贝到外置内存卡中。不管哪一种,你需要讲文件拷贝到根目录下。下图是我的三星s3手机存储证书的例子:
上面你可以看到已经将下面的证书文件保存到内存卡 sdcard0中 (这个是手机到内存卡名称):
- Android.pfx (用户证书).
- RootCA.cer (根CA证书).
如果你已经将文件保存到这个地方,就可以到设置进行配置e.
在设置菜单中选择安全项.
再底部你可以找到证书存储,选择从存储设备安装.
你的Android设备会自动找到你内存卡中的证书文件,显示信息如下图所示
这两个证书我们都需要安装,以用户证书为例, 输入证书私钥的导出秘密然后点击确认.
Android设备要求你对这个证书进行命名,保持缺省名字或者重新命名然后按确认.
确保你两个证书都已经导入,保证你的Android设备可以获取并识别这两个证书.如果你想看的话,选择信任证书项 username
下图可以看到android设备已经安装了一个用户证书.
我们的的android设备自安卓已经安装连我们认证需要的证书,是时候可以连接网络了。
使用 EAP-TLS连接无线网络
通过这些证书我们可以连接无线网络,到android设备的wifi设置 连接正确的SSID, 你将被提示输入一些安全信息,输入以下信息:
- EAP method(EAP方法): TLS
- Phase 2 authentication(阶段二认证): 无
- CA certificate(CA证书): 你的CA证书
- User certificate(用户证书): 你的用户证书
- Identity(ID): 用户名
剩余项不用填为空点击保存:
你应该已经连上无线网络:
以上就是全部内容,希望对你有所帮助,如果有任何问题直接留言即可。
原文地址:https://networklessons.com/wireless/eap-tls-certificates-for-wireless-on-android/
http://www.cisco.com/en/US/products/sw/secursw/ps2086/products_white_paper09186a008009256b.shtml
最后
以上就是畅快西装为你收集整理的Android手机进行无线EAP-TLS证书认证配置的全部内容,希望文章能够帮你解决Android手机进行无线EAP-TLS证书认证配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复