`

在tomcat中实现https(转载)

阅读更多
来源:http://hi.baidu.com/libinichen/blog/item/16e9b9ec0cdff42163d09f6d.html

SSL简介
SSL, 或者Secure Socket Layer,是一种允许web浏览器和web服务器通过一个安全的连接进行交流的技术。这意味着将被发送的数据在一端被翻译成密码,传送出去,然后在另一端解开密码,再进行处理。这是一个双向的过程,也就是浏览器和服务器都需要在发送数据之前对它们进行加密。
SSL协定的另一个重要方面是认证(Authentication)。这就是说,在你开始试图通过一个安全连接与一个web服务器交流的时候,这个服务器会要求你的浏览器出示一组证件,通过“鉴定”的方式来证明这就是你所声明的网站。
在某些情况下,服务器还会要求你的web浏览器的认证书,证明你就是你所说的那个人。这就是所知的“客户认证”,尽管实际情况中,更多地用在商务-对-商务(B2B)交易,而不是对个人用户。
但大多数有SSL功能的web服务器不要求客户认证(Client Authentication)。


证书
为了能实施SSL,一个web服务器对每个接受安全连接的外部接口(IP 地址)必须要有相应的证书(Certificate)。关于这个设计的理论是一个服务器必须提供某种合理的保证以证明这个服务器的主人就是你所认为的那个人。这个证书要陈述与这个网站相关联的公司,以及这个网站的所有者或系统管理员的一些基本联系信息。
这个证书由所有人以密码方式签字,其他人非常难伪造。对于进行电子商务(e-commerce)的网站,或其他身份认证至关重要的任何商业交易,认证书要向大家所熟知的认证权威(Certificate Authority (CA))如VeriSign或Thawte来购买。这样的证书可用电子技术证明属实。实际上,认证权威单位会担保它发出的认证书的真实性,如果你信任发出认证书的认证权威单位的话,你就可以相信这个认证书是有效的。
在许多情况下,认证并不是真正使人担忧的事。系统管理员或许只想要保证被服务器传送和接收的数据是秘密的,不会被连接线上的偷1窃者盗1窃到。庆幸的是,Java提供相对简单的被称为keytool的命令行工具,可以简单地产生“自己签名”的证书。自己签名的证书只是用户产生的证书,没有正式在大家所熟知的认证权威那里注册过,因此不能确保它的真实性。但却能保证数据传输的安全性。
认证也许很重要,也许不重要,完全决定于网站的需要。

用Tomcat来配置SSL主要有下面这么两大步骤:

一、生成证书

1、 在命令行下执行:

%Java_home%\bin\keytool -genkey -alias tomcat -keyalg RSA

在此命令中,keytool是JDK自带的产生证书的工具。把RSA运算法则作为主要安全运算法则,这保证了与其它服务器和组件的兼容性。
这个命令会在用户的home directory产生一个叫做" .keystore " 的新文件。在执行后,你首先被要求出示keystore密码。Tomcat使用的默认密码是" changeit "(全都是小写字母),如果你愿意,你可以指定你自己的密码。你还需要在server.xml配置文件里指定自己的密码,这在以后会有描述。

2、你会被要求出示关于这个认证书的一般性信息,如公司,联系人名称,等等。这些信息会显示给那些试图访问你程序里安全网页的用户,以确保这里提供的信息与他们期望的相对应。

3、你会被要求出示密钥(key)密码,也就是这个认证书所特有的密码(与其它的储存在同一个keystore文件里的认证书不同)。你必须在这里使用与keystore密码相同的密码。(目前,keytool会提示你按ENTER键会自动帮你做这些)。

如果一切顺利,你现在就拥有了一个可以被你的服务器使用的有认证书的keystore文件。

二、配置tomcat

第二个大步骤是把secure socket配置在$CATALINA_HOME/conf/server.xml文件里。$CATALINA_HOME代表安装Tomcat的目录。一个例子是SSL连接器的<Connector>元素被包括在和Tomcat一起安装的缺省server.xml文件里。它看起来象是这样:

$CATALINA_HOME/conf/server.xml

<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector
port="8443" minProcessors="5" maxProcessors="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true";
clientAuth="false" sslProtocol="TLS"/>
-->

Connector元素本身,其默认形式是被注释掉的(commented out),所以需要把它周围的注释标志删除掉。然后,可以根据需要客户化(自己设置)特定的属性。一般需要增加一下keystoreFile和keystorePass两个属性,指定你存放证书的路径(如:keystoreFile="C:/.keystore")和刚才设置的密码(如:keystorePass="123456")。关于其它各种选项的详细信息,可查阅Server Configuration Reference。

在完成这些配置更改后,必须象重新启动Tomcat,然后你就可以通过SSL访问Tomcat支持的任何web应用程序。只不过指令需要像下面这样:


https://localhost:8443
分享到:
评论

相关推荐

    Apache-Tomcat-8.5.5(Linux )

    事实上,目前只有Window在OS级别提供了对async io的支持,也即IOCP,在Linux还是要通过select、poll、epoll等来实现这个机制。 所以一般来说,不需要使用NIO2。当然,也可能有些场景就适合使用NIO2,不过目前来说很...

    Apache + Tomcat + SSL整合

    这是作者用了一周时间研究出来的,里面包含了Apache的安装程序,tomcat免安装版以及文档说明,只要按照文档说宁一步步就做,就能轻松实现。在网上找个很多关于这方面的文章,但天下文章一大抄,基本都是雷同的,很...

    19.幼儿园管理系统-springboot+ Mysql+Java+Tomcat设计与实现可运行源码+数据库+开发文档++lw

    19.幼儿园管理系统|基于springboot框架+ Mysql+Java+Tomcat设计与实现(可运行源码+数据库+设计文档+部署说明)系统管理也都将通过计算机进行整体智能化操作,对于幼儿园管理系统所牵扯的管理及数据保存都是非常多的,...

    13.小区物业管理系统-SpringBoot+ Mysql+Java+Tomcat设计与实现(可运行源码+数据库+开发文档+lw

    过计算机进行整体智能化操作,对于小区物业管理系统所牵扯的管理及数据保存都是非常多的,例如管理员;首页、个人中心、用户管理、员工管理、业主信息管理、...基础能力强的可以在此基础上修改调整,以实现不同的功能。

    jsp+mvc个人网站(发布文章+评论+点赞)

    我的个人网站是以Tomcat为服务器,基于Model 1(JSP + Java Bean+servlet+mvc)的方式实现,数据库采用H2数据库。网站主要浏览文章,并且实现了增、删、改、查、分页等功能。 --------------------- 作者:qq_...

    25家具销售电商平台springboot框架+ Mysql+Java+Tomcat(可运行源码+数据库+开发文档+lw+PPT)

    从管理员、用户的功能要求出发,家具销售电商平台系统中的功能模块主要是实现管理员;首页、个人中心、家具分类管理、热销家具管理、折扣家具管理、用户管理、订单评价管理、管理员管理、系统管理、订单管理,用户:...

    基于JSP的小区停车管理系统设计与实现.zip

    资源包含文件:课程报告word+项目源码 开发工具:JDK-8、HTML、JavaScript、Eclipse 集成开发环境、MySQL 数据库管理系统、Tomcat 服务器。...本文转载自:https://blog.csdn.net/newlw/article/details/125168210

    tomacat8.5 官方

    Apache Tomcat 8支持Java EE 7规范,包括Java Servlet 3.1、JSP 2.3、Java统一表达式语言EL 3.0等。Servlet 3.1最大的改进是实现了非阻塞式的I/O通信。这使得性能得到巨大的改进,数据可以通过ReadListener和...

    java 考试报名系统(毕设)

    最简单的部署方法是把apply.war放到tomcat的webapps下,启动tomcat后,在浏览器输入127.0.0.1:8080/apply即可 数据库配置文件在apply/src/DBInfo.properties,如需要请更换 5.其他说明 查询数据翻页/个人资料/设置/...

    SpringCloud注解详情XMind文件.zip

    SpringCloud是一个微服务框架 , 相比于Dubbo等RPC框架 , SpringCloud提供的全套的分布式系统解决方案 . SpringCloud对微服务基础框架Netflix...原文链接:https://blog.csdn.net/fzx_tomcat/article/details/84851925

    Spring+MyBatis+mysql 开发网站后台权限管理系统源代码下载

    郑重声明:本文分享内容来自互联网,转载目的在于传递更多信息,帮助大家,并不代表本人赞同其观点和 对其真实性负责。如涉及作品内容、版权和其它问题,请在七日内与本人联系,我将在第一时间删除内容! [声明]本...

    weblogic 安装转载

    EJB要基于一个EJB Module,然后整个Module一起编译、部署到服务器上。...当然,apache组织也在开发自己的开源J2EE服务器,名字叫做Geronimo,目前已经有正式的版本面市,本章的示例则是基于Weblogic实现。

    Nginx安装包

    启动tomcat1,在浏览器中输入localhost:8080,进入我们的登录页面,登录页面代码就不贴出了,就是ajax提交而已。输入我们的用户名和密码。登录。看到我们登录成功了,用户个人中心能成功显示我们的用户名。 再看看...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、...

    SpringBoot学生成绩管理系统.rar

    基于SpringBoot+Vue的学生成绩管理系统 ,已经实现了增删改查,完美的springBoot项目脚手架 ,适合学习和二次开发,课程设计 1.导入score数据库 2.导入项目源码 3.修改resources下的数据库信息 4.运行...

    Wap接口程序provision

    直接使用HttpServer的方式实现,不需要任何其它API,不需要Apache,IIS,Tomcat等Web服务器,直接实现底层. 运行环境 Windows/Linux JDK 1.4.2 产品完全免费,可自由转载,但请注明出处: ------------------------------...

    WORD电子签名插件V1.2

    不需要专门的图章服务器,可以使用任意的WEB服务提供程序,如IIS,tomcat等,将软件包中的web目录部署(白话:拷贝)到WEB的某个目录(tomcat中,考到某个上下文)就可以了。  然后在“网络图章”对话框中,输入...

Global site tag (gtag.js) - Google Analytics