tomcat6.0配置HTTPS

c#小王子 c#小王子 2022-04-14 314 Java

SSL协议使用不对称加密技术实现双方之间信息的安全传递。可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。

与网站建立https连接时,浏览器与WEB SERVER之间要经过一个握手的过程来完成身份鉴定与密钥交换,建立安全连接。过程是:

1、用户浏览器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送到服务器

2、服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它必要信息发送给浏览器,同时发给浏览器的还有服务器的证书。如果配置服务器的SSL需要验证用户身份,还要发出请求浏览器提供用户证书。

3、客户端检查服务器证书,如果检查失败,提示不能建立SSL连接,如果成功,则继续

4、客户端浏览器为本次会话生成pre-master secret,并将其用服务器公钥加密后发送给服务器。

5、如果服务器要求鉴别客户身份,客户端还要再对另外一些数据签名后并将其与客户端证书一起发送给服务器。

6、如果服务器要求鉴别客户身份,则检查签署客户证书的CA是否可信。如果不在信任列表中,结束本次会话。如果检查通过,服务器用自己的私钥解密收到的 pre-master secret,并用它通过某些算法生成本次会话的master secret。

7、客户端与服务器均使用此master secret生成本次会话的会话密钥(对称密钥)。在双方SSL握手结束后传递任何消息均使用此会话密钥。这样做的主要原因是对称加密比非对称加密的运算量低一个数量级以上,能够显著提高双方会话时的运算速度。

8、客户端通知服务器此后发送的消息都使用这个会话密钥进行加密。并通知服务器客户端已经完成本次SSL握手。

9、服务器通知客户端此后发送的消息都使用这个会话密钥进行加密。并通知客户端服务器已经完成本次SSL握手。

10、本次握手过程结束,会话已经建立。双方使用同一个会话密钥分别对发送以及接受的信息进行加、解密。


1、生成服务器端证书文件

可以使用Windows系统或者Linux系统

(1) Windows环境

条件:已经安装JDK

步骤:

l 进入%JAVA_HOME%/bin目录

l 执行命令

keytool -genkey -alias tomcat -keyalg RSA -keystore F:\tomcat.keystore -validity 36500


参数简要说明:“F:\tomcat.keystore”含义是将证书文件保存在F盘,证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天

l 在命令行填写必要的参数:


截图如下:




截图部分说明:


A、输入keystore密码:此处需要输入大于6个字符的字符串


B、“您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你将来要在浏览器中输入的访问地址


C、“你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息


D、输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以


l 完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件


(2) Linux环境


条件:安装了JDK


步骤:


l 进入$JAVA_HOME/bin目录


l 执行命令


./keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/ac/web/tomcat.keystore -validity 36500


参数简要说明:“/etc/tomcat.keystore”含义是将证书文件保存在路径/usr/local/ac/web/下,证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天


l 在命令行填写必要的参数:


截图如下:



截图部分说明:


A、Enter keystore password:此处需要输入大于6个字符的字符串


B、“What is your first and last name?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你将来要在浏览器中输入的访问地址


C、“What is the name of your organizational unit?”、“What is the name of your organization?”、“What is the name of your City or Locality?”、“What is the name of your State or Province?”、“What is the two-letter country code for this unit?”可以按照需要填写也可以不填写直接回车,在系统询问“correct?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入 “n”重新填写上面的信息


D、Enter key password for <tomcat>,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以


l 完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件


2、配置TOMCAT服务器


(1) 如果你是在Windows环境中生成证书文件,则需要将生成的证书tomcat.keystore拷贝到Tomcat将要引用的位置,假设tomcat的应用证书的路径是“/etc/tomcat.keystore”,则需要将证书文件拷贝到“etc/”下;如果是在Linux环境按照上述介绍的步骤生成证书文件的话,此时证书文件已经在“etc/”下。


(2) 配置Tomcat,打开$CATALINA_HOME/conf/server.xml,修改如下,


<Connector port="8080" protocol="HTTP/1.1" 

connectionTimeout="20000" 

redirectPort="8443" /> 

修改参数=> 
<Connector port="80" protocol="HTTP/1.1" 

connectionTimeout="20000" 

redirectPort="443" /> 

<!-- 

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 

maxThreads="150" scheme="https" secure="true" 

clientAuth="false" sslProtocol="TLS"/> 

--> 


去掉注释且修改参数=>


<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" 

maxThreads="150" scheme="https" secure="true" 

clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/tomcat.keystore" keystorePass="www.gbcom.com.cn"/> 


注释:标识为淡蓝色的两个参数,分别是证书文件的位置和<tomcat>的主密码,在证书文件生成过程中做了设置


<!-- 

<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" /> 

--> 

修改参数=> 

<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" /> 


(3) 打开$CATALINA_HOME/conf/web.xml,在该文件末尾增加:


<security-constraint> 

<web-resource-collection > 

<web-resource-name >SSL</web-resource-name> 

<url-pattern>/*</url-pattern> 

</web-resource-collection> 



<user-data-constraint> 

<transport-guarantee>CONFIDENTIAL</transport-guarantee> 

</user-data-constraint> 

</security-constraint> 


3、上述配置完成后,重启TOMCAT后即可以使用SSL。IE地址栏中可以直接输入地址不必输入“http://” 或者 “https://” ;也可以输入 “http:// ” 会跳转成为 “https://” 来登录 。


【下载地址】


百度网盘链接:https://pan.baidu.com/s/1g0qgh-I4-zE8fxrpPWmxUg

提取码:b6kd


相关文章


使用-JFreeChart来创建基于web的图表

使用-JFreeChart来创建基于web的图表

XStream使用文档

XStream使用文档

WebService发布过程及常见问题

WebService发布过程及常见问题

webpack实战入门进阶调优分享

webpack实战入门进阶调优分享

weblogic调优参数及监控指标

weblogic调优参数及监控指标

weblogic节点管理

weblogic节点管理

weblogic管理控制台概述

weblogic管理控制台概述

weblogic-部署和启动

weblogic-部署和启动

WebLogic-Server-性能及调优-调优-Java-虚拟机

Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。

Velocity用户教程

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。

Velocity用户手册

Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之