HTTPS的3种实现办法_第1页
HTTPS的3种实现办法_第2页
HTTPS的3种实现办法_第3页
HTTPS的3种实现办法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下。第2页/共2页精品文档推荐HTTPS的3种实现办法HTTPS的3种实现办法.

分类:java2010-04-3010:17164人阅读评论(0)收藏举报

引用自:/blog/289650

文章如下:HTTPS实际是SSLoverHTTP,该协议经过SSL在发送方把原始数据举行加密,在接收方解密,所以,所传送的数据别容易被网络黑客截获和破解。本文介绍HTTPS的三种实现办法。

办法一静态超链接这是目前网站中使用得较多的办法,也最简单。

在要求使用SSL举行传输的Web网页链接中直截了当标明使用HTTPS协议,以下是指向需要使用SSL的网页的超链接:SSL例子需要讲明的是,在网页里的超链接假如使用相对路径的话,其默认启用协议与引用该超链接的网页或资源的传输协议相同,例如在某超链接“HTTPS://00/ok/login.jps”的网页中包含如下两个超链接:SSL链接非SSL链接这么,第一具链接使用与“HTTPS://00/ok/login.jsp”相同的传输协议HTTPS,第二个链接使用本身所标识的协议HTTP。

使用静态超链接的好处是容易实现,别需要额外开辟。但是,它却别容易维护治理;因为在一具彻底使用HTTP协议拜访的Web应用里,每个资源都存放在该应用特定根名目下的各个子名目里,资源的链接路径都使用相对路径,如此做是为了方便应用的迁移同时易于治理。但如果该应用的某些资源要用到HTTPS协议,引用的链接就必须使用完整的路径,因此当应用迁移或需要更改URL中所涉及的任何部分如:域名、名目、文件名等,维护者都需要对每个超链接修改,工作量之大可想而知。再者,假如客户在扫瞄器地址栏里手工输入HTTPS协议的资源,这么所有敏感机密数据在传输中就得别到爱护,非常容易被黑客截获和篡改!

办法二资源拜访限制为了爱护Web应用中的敏感数据,防止资源的非法拜访和保证传输的安全性,JavaServlet2.2规范定义了安全约束(Security-Constraint)元件,它用于指定一具或多个Web资源集的安全约束条件;用户数据约束(User-Data-Constraint)元件是安全约束元件的子类,它用于指定在客户端和容器之间传输的数据是怎么被爱护的。

用户数据约束元件还包括了传输保证(Transport-Guarantee)元件,它规定了客户机和服务器之间的通信必须是以下三种模式之一:None、Integral、Confidential。None表示被指定的Web资源别需要任何传输保证;Integral表示客户机与服务器之间传送的数据在传送过程中不可能被篡改;Confidential表示数据在传送过程中被加密。大多数事情下,Integral或Confidential是使用SSL实现。

这个地方以BEA的WebLogicServer6.1为例介绍事实上现办法,WebLogic是一具性能卓越的J2EE服务器,它能够对所治理的Web资源,包括EJB、JSP、Servlet应用程序设置拜访操纵条款。

假设某个应用建立在WeblogicServer里的/mywebAPP名目下,其中一部分Servlets、JSPs要

求使用SSL传输,这么可将它们都放在/mywebAPP/sslsource/名目里,然后编辑/secureAPP/Web-INF/web.xml文件,经过对web.xml的设置可达到对Web用户实现拜访操纵。当Web用户试图经过HTTP拜访/sslsource名目下的资源时,WeblogicServer就会查找web.xml里的拜访约束定义,返回提示信息:NeedSSLconnectiontoaccessthisresource。

资源拜访限制与静态超链接结合使用,别仅继承了静态超链接办法的简单易用性,而且有效爱护了敏感资源数据。但是,如此就会存在一具咨询题:如果Web客户使用HTTP协议拜访需要使用SSL的网络资源时看到弹出的提示信息:NeedSSLconnectiontoaccessthisresource,大部分人也许都别懂应该用HTTPS去拜访该网页,造成的后果是用户会放弃拜访该网页,这是Web应用服务提供商别情愿看到的情况。

办法三链接重定向综观目前商业网站资源数据的交互拜访,要求严格加密传输的数据只占其中一小部分,也算是讲在一具具体Web应用中需要使用SSL的服务程序只占整体的一小部分。这么,我们能够从应用开辟方面思考解决办法,对需要使用HTTPS协议的那部分JSPs、Servlets或EJBs举行处理,使程序本身在接收到拜访请求时首先推断该请求使用的协议是否符合本程序的要求,即来访请求是否使用HTTPS协议,假如别是就将其拜访协议重定向为HTTPS,如此就幸免了客户使用HTTP协议拜访要求使用HTTPS协议的Web资源时,看到错误提示信息无所适从的事情,这些处理对Web客户来讲是透明的。

实现思想是:

首先创建一具类,该类办法能够实现自动引导Web客户的拜访请求使用HTTPS协议,每个要求使用SSL举行传输的Servlets或JSPs在程序开始时调用它举行协议重定向,最终才举行数据应用处理。J2EE提供了两种链接重定向机制。第一种机制是RequestDispatcher接口里的forward()办法。使用MVC(Model-View-Controller)机制的Web应用通常都使用那个办法从Servlet转移请求到JSP。但这种转向只能是同种协议间的转向,并别能重定向到别同的协议。

第二种机制是使用HTTPServletReponse接口里的sendRedirect()办法,它能使用任何协议重定向到任何URL,例如:BeSslResponse.sendRedirect(“HTTPS://00/order”);此外,我们还需使用到JavaServletAPI中的两个办法:ServletRequest接口中的getScheme(),它用于猎取拜访请求使用的传输协议;HTTPUtils类中的getRequestUrl(),它用于猎取拜访请求的URL,要注意的是该办法在Servlet2.3中已被移到HTTPServletRequest接口。

以下是实现协议重定向的基本步骤:

1.猎取拜访的请求所使用的协议;

2.假如请求协议符合被拜访的Servlet所要求的协议,就讲明差不多使用HTTPS协议了,别需做任何处理;

3.假如别符合,使用Servlet所要求的协议(HTTPS)重定向到相同的URL。例如,某Web用户使用HTTP协议拜访要求使用HTTPS协议的资源BeSslServlet,敲入“URL:HTTP://00/BeSslServlet”,在执行BeSslServlet时首先使用ProcessSslServlet.processSsl()重定向到HTTPS://00/BeSslServlet,然后BeSslServlet与客户扫瞄器之间就经过HTTPS协议举行数据传输。

以上介绍的仅是最简单的例子,是为了对这种重定向的办法有个初步的认识。如果想真正在Web应用中实现,还必须思考如下几个咨询题:

●在Web应用中常常会用到GET或Post办法,拜访请求的URL中就会带上一些查询字串,这些字串是使用getRequesUrl()时猎取别到的,而且在重定向之后会丢失,因此必须在重定向之前将它们加入到新的URL里。我们能够使用request.getQueryString()来猎取GET的查询字串,关于Post的Request参数,能够把它们转换成查询串再举行处理。

●某些Web应用请求中会使用对象作为其属性,必须在重定向之前将这些属性保存在该Session中,以便重定向后使用。

●大多数扫瞄器会把对同一具主机的别同端口的拜访

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论