




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、NameLocationTyp*回k,idkLM22口却加囱业1.松口/明eStandAndroidHttps服务器端和客户端简单实例工具介绍Eclipse3.7Tomcat6.0.18(免安装版)Android2.1开发环境(在Eclipse中配置好)前提条件JDK环境要使用我们自己安装的,笔者JDK安装目录为D:Javajdk1.6.0_22,在Eclipse的Window-preference-installedJREs中,只选用我们自己安装的JRE,如图所示: CompilerErrors/Warnings DebugHtapWalking EditorContentAssistAdv
2、ancedFavoritettnstallcdJREsI在Eclipse与Tomcat整合的时候,也需要选择此运行环境:CompilerErrars/Warnin第DebugHeapWbIkingEditorContentAjssistAdvaricedFavoritesInstalledJRsJavaScriptEditorContentAuistAdvancedValidato-rErron/WarningsServerRuntimeEnvironmentsCSSFilesEditorContentA“i喊HTMLFilesEditor一.搭建服务器端1.在Eclipse中新建Dynami
3、cWebProject,取名为HttpsServer:HttpsServer.四srcWcom.veer卜JTestSen/iceJavaahJRESystemLibrarygdkL6,0_229ApacheTomcatv6.0ApacheTomcat6r0J8&build会WebContent&METAJNFJaWEB-INF&libxw&bjcml国indexjsp2.1 ndex.jsp内容如下:basehref=name+ageJSPPagename: age: name: age: &
4、nbsp; 这里其实是复用了之前Http调研的代码,我们关心的是我们手机端能不能访问该服务器端,还涉及到传递数据,具体数据显示在TestService表示。3 .TestService代码如下:packagecom.veer;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRe
5、quest;importjavax.servlet.http.HttpServletResponse;publicclassTestServiceextendsHttpServletprivatestaticfinallongserialVersionUID=1L;protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOExceptionStringname=req.getParameter(name);Stringage=req.getParameter(age);re
6、sp.setContentType(text/html);PrintWriterout=resp.getWriter();out.println(name&age/head);out.println(name:+name+”);out.println(age:+age+);System.out.println(name=+name);System.out.println(age=+age);out.flush();protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IO
7、Exceptionreq.setCharacterEncoding(utf-8);Stringname=req.getParameter(name);Stringage=req.getParameter(age);resp.setContentType(text/html);resp.setCharacterEncoding(utf-8);设置返回给客户端的文本格式,可解决文字编码不统一的问题PrintWriterout=resp.getWriter();out.println(name&age/head);out.println(name:+name+);out.println(age:+a
8、ge+);System.out.println(name=+name);System.out.println(age=+age);out.flush();4 .修改web.xml文件,在倒数第二行加入:ThisisthedescriptionofmyJ2EEcomponentThisisthedisplaynameofmyJ2EEcomponentTestServicecom.veer.TestServiceTestService/TestService至此,未加密钥的服务器端就已经搭建好。二.配置密钥2.1 在D盘建立文件夹cer,再在里面建立文件夹tomcat;2.2 进入cmd,依次键入
9、、d:、cdcer、cdtomcat,进入至UD:certomcat目录下面;2.3 生成服务器端密钥键入D:certomcatkeytool-genkey-aliastomcat-keyalgRSA-keystoreserver.keystore-validity36000解释:keytool是jdk下的命令行工具。alias随意指定,表示别名。keyalg表示加密算法为RSA,输出文件为server.keystore这里面需要输入密码(我们输入123456),另外注意“您的名字与姓氏是什么?”,这一项要输入tomcat所在主机的IP或域名,客户端访问tomcat时会涉及到这个地址,笔者局域
10、网的IP是13,所以我们输入该IP。此时在D:certomcat里面就会生成一个server.keystore文件,不要关闭cmd,还有操作要进行;2.4 用server.keystore成server.cer键入:D:certomcatkeytool-export-aliastomcat-fileserver.cer-keystoreserver.keystore-storepass123456此时在D:certomcat里面就会生成一个server.cer文件。解释:这个是浏览器可以识别的证书,用于导入浏览器。不要关闭cmd,还有操作要进行。2.5 这个时候tomca
11、t就可以启动ssl了,以tomcat6.0为例,在server.xml中拷入(或是更改)如下片段:其中clientAuth=false,表示单向验证,为true的话则是双向认证。这时启动tomcat,打开IE,输入13:8443/会提示没有证书,但能点进去。我们可以双击刚才生成的server.cer把它导入“受信任的根证书颁发机构”,就能看到浏览器上的小锁了。三.特别说明我们需要下载bcprov-jdk15-135.jar及sunjce_provider.jar(可能已经存在),放入D:Javajdk160_22jrelibext下面。同时要修改D:Java
12、jdk1.6.0_22jjrelibsecurityjava.security文件,找至Uvider.1=vider.Surni行,这里有好几行,在最后行力上vider.10=vider.BouncyCastleProvider笔者本来有9号,所以新一行的序号为10。在cmd中继续键入:D:certomcatkeytool-import-aliastomcat-fileserver.cer-keystoreserver_trust.keystore-storepass12
13、3456-storetypeBKS-providernameBC这时候在D:certomcat里面就会生成一个server_trust.keystore文件。解释:将在客户端用到这个信任的密钥。四.搭建客户端按照正常的步骤,我们建立一个AndroidProject,需要注意的是新建立一个文件夹res/raw,斗等server_trust.keystor州贝至其中,在AndroidMainfest.xml中加入。如下图所示:隋HttpaClient国51TtfcompeerIJHttpsClientActivity.javagen;GeneratedJavaFilesAndroid2.1_5et
14、InJ今resdrawable-hdpi-Bdrawable-ldpi昼drawable-mdpiJmlayoutxmain.xml4启?raw国key5tse.QAndroidManifest.xmlvaluesproguard.cfg昌pertiesHttpsClientActivity代码如下:packagecom.veer;importjava.io.InputStream;importjava.security.KeyStore;importorg.apache.http.HttpEntity;importorg.apache.http.HttpResponse
15、;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.client.methods.HttpUriRequest;importorg.apache.http.conn.scheme.Scheme;importorg.apache.http.conn.ssl.SSLSocketFactory;importorg.apache.http.impl.client.DefaultHttpClient;importandroid.app.Act
16、ivity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;publicclassHttpsClientActivityextendsActivity/*Calledwhentheactivityisfirstcreated.*/privateButtontestButton;privateStringhttpsUrl=13:8443/HttpsServer/TestServi
17、ce;HttpClienthc=newDefaultHttpClient();OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedlnstanceState);setContentView(R.layout.main);testButton=(Button)findViewByld(R.id.testButton);testButton.setOnClickListener(newOnClickListener()OverridepublicvoidonClick(Viewv)tryinitKey();
18、catch(Exceptione)e.printStackTrace();try(Stringresult=getData(httpsUrl);System.out.println(result=+result);catch(Exceptione)e.printStackTrace(););privatevoidinitKey()throwsExceptionKeyStoretrustStore=KeyStore.getInstance(BKS);trustStore.load(getBaseContext().getResources().openRawResource(R.raw.server_trust),”123456”.toCharArray();SSLSocketFactorysocketFactory=newSSLSocketFactory(trustStore);Schemesch=newScheme(https,socketFactory,8443);hc.getConnectionManager().getSchemeRegistry().register(sc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气功修炼馆创新创业项目商业计划书
- 地月运输服务创新创业项目商业计划书
- 生产设备故障诊断创新创业项目商业计划书
- 物业智能销售渠道管理创新创业项目商业计划书
- 羊肉线上商城企业制定与实施新质生产力项目商业计划书
- 2025-2026学年统编版小学语文四年级上册期末考试测试卷及参考答案
- 2025年护理学校面试题及答案
- 2025年平邑护理面试题及答案
- 机械设备故障数据分析与处理方法
- 热力设施巡检与管理方案
- 2025年下半年四川省泸州市人力资源和社会保障局信息中心招聘3人重点基础提升(共500题)附带答案详解
- 佛山地库信号覆盖施工方案
- 新版苏教版四年级上册科学(全册教案及教学计划及进度表)
- 蓝豚医陪陪诊服务发展研究报告2025
- 课件西安课件
- 大学生应征入伍学费补偿申请表-原
- GB/T 25179-2010生活垃圾填埋场稳定化场地利用技术要求
- GA 1016-2012枪支(弹药)库室风险等级划分与安全防范要求
- 海南省建筑工程竣工验收资料
- 全国注册安全工程师2019-2021年《金属非金属矿山安全》真题及答案解析
- 脑干听觉诱发电位课件
评论
0/150
提交评论