`
sooxin
  • 浏览: 257608 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

TOMCAT6 配置https

 
阅读更多

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://” 来登录 

4、注意事项: 

(1)    生成证书的时间,如果IE客户端所在机器的时间早于证书生效时间,或者晚于有效时间,IE会提示“该安全证书已到期或还未生效” 

(2)    如果IE提示“安全证书上的名称无效或者与站点名称不匹配”,则是由生成证书时填写的服务器所在主机的域名“您的名字与姓氏是什么?”/“What is your first and last name?”不正确引起的

 

=========================================

以上配置完成后 启动tomcat 出现错误

原因:可能端口被占用。

或者 将:tomcat下的bin目录下的tcnative-1.dll删掉,重启一下服务器。

 

===========================================

 

为客户端生成证书

下一步是为浏览器生成证书,以便让服务器来验证它。为了能将证书顺利导入至IE和Firefox,证书格式应该是PKCS12,因此,使用如下命令生成:

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore c:\my.p12

对应的证书库存放在“C:\my.p12”,客户端的CN可以是任意值。稍候,我们将把这个“my.p12”证书库导入到IE和Firefox中。

第三步:让服务器信任客户端证书

由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,我们必须先把客户端证书导出为一个单独的CER文件,使用如下命令:

keytool -export -alias mykey -keystore my.p12 -store PKCS12 -storepass password -rfc -file c:\my.cer

通过以上命令,客户端证书就被我们导出到“C:\my.cer”文件了。下一步,是将该文件导入到服务器的证书库,添加为一个信任证书:


keytool -import -v -file my.cer -keystore tomcat.keystore


通过list命令查看服务器的证书库,我们可以看到两个输入,一个是服务器证书,一个是受信任的客户端证书:


keytool -list -keystore tomcat.keystore

第四步:配置Tomcat服务器

打开Tomcat根目录下的/conf/server.xml,找到如下配置段,修改如下:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="true" sslProtocol="TLS"
    keystoreFile="C:/tomcat.keystore" keystorePass="password"
    truststoreFile="C:/tomcat.keystore" truststorePass="password"
/>

第五步:导入客户端证书

如果设置了clientAuth="true",则需要强制验证客户端证书。双击“C:\my.p12”即可将证书导入至IE:
p12 证书直接双击然后按提示下一步就可导入。

 

分享到:
评论

相关推荐

    tomcat6配置https

    标题“Tomcat6配置HTTPS”涉及的是在Apache Tomcat 6版本中设置和配置安全的HTTPS连接。HTTPS是一种基于SSL/TLS协议的安全通信协议,用于在网络上提供加密传输和身份认证,确保用户数据的安全性。 首先,为了在...

    tomcat下配置https环境

    Tomcat 下配置 HTTPS 环境详细指南 在本篇文章中,我们将详细介绍如何在 Tomcat 下配置 HTTPS 环境,包括生成密钥、配置 Tomcat 以及测试 HTTPS 连接。 一、生成密钥 在配置 HTTPS 环境之前,我们需要生成一个...

    Tomcat配置HTTPS证书认证

    要为Tomcat配置HTTPS,我们主要需要以下几步: 1. **生成或获取SSL证书**: - 可以使用开源工具如OpenSSL自签发一个证书,适合测试环境。 - 对于生产环境,通常需要从权威的证书颁发机构(CA)购买一个正式的SSL...

    在tomcat中配置https的总结

    ### 在Tomcat中配置HTTPS详解 #### 一、引言 随着互联网技术的发展与安全意识的提高,HTTPS已经成为现代Web应用的标准配置之一。HTTPS通过在HTTP的基础上加入SSL/TLS加密层,确保了数据传输的安全性。本文将详细...

    Tomcat中实现https安全连接与SSL配置

    https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置

    tomcat全套配置https协议

    总结,配置Tomcat支持HTTPS协议涉及生成证书、编辑Tomcat配置文件以及设置强制HTTPS重定向。这个过程对保障Web应用的安全性至关重要,尤其是在处理敏感用户信息时。理解并熟练掌握这些步骤,可以让你在开发和维护...

    Tomcat中配置https

    本篇文章将详细讲解如何在Apache Tomcat服务器中配置HTTPS。 首先,我们需要生成一个密钥对,这通常包括一个公钥证书(Certificate)和一个私钥(Private Key)。在这个案例中,我们使用了名为"GenerateCommand....

    tomcat上配置https证书

    在tomcat上配置https证书操作步骤,小程序及公众号程序开发需求https服务。

    TOMCAT 6 中配置HTTPS

    通过以上步骤,你可以在Tomcat 6中成功配置HTTPS,提供安全的Web服务。然而,随着技术的发展,建议升级到更现代的Tomcat版本,以获取更好的性能和安全性。同时,不要忘记定期更新和续订证书,以保持与最新安全标准的...

    为tomcat服务器配置https,tomcat需要设置的server.xml与web.xml配置

    在Tomcat服务器上配置HTTPS可以增强网站的安全性。本篇将详细解释如何配置Tomcat以支持HTTPS,并涉及到两个关键的配置文件:`server.xml`和`web.xml`。 首先,我们需要准备一个SSL证书。你可以从权威的证书颁发机构...

    tomcat支持https配置

    4. **修改Tomcat配置**: - 打开`conf/server.xml`文件,找到`&lt;Connector&gt;`元素,配置SSL连接器。 - 添加以下属性: - `protocol="HTTP/1.1"`:指定连接器协议。 - `scheme="https"`:指定协议类型。 - `secure...

    利用tomcat服务器配置https双向认证

    Tomcat 服务器配置 HTTPS 双向认证 Tomcat 服务器配置 HTTPS 双向认证是指在 Tomcat 服务器上配置 SSL/TLS 加密协议,以便在客户端和服务器之间建立安全的连接。本文将指导您如何配置 Tomcat 服务器上的 HTTPS 双向...

    springboot内置tomcat与外部tomcat配置https访问及http自动转向https

    ### Spring Boot 内置 Tomcat 配置 HTTPS 及 HTTP 自动转向 HTTPS #### 一、Spring Boot 内置 Tomcat 配置 HTTPS 访问 为了实现 Spring Boot 应用程序通过内置 Tomcat 服务器支持 HTTPS 访问,我们需要进行以下几...

    tomcat 配置https

    tomcat 配置https 详情, tomcat 配置http 强制跳转到https

    https原理及tomcat配置https方法

    HTTPS 原理及 Tomcat 配置 HTTPS 方法 HTTPS(Hypertext Transfer Protocol Secure)是一种基于 HTTP 协议的安全协议,通过使用 SSL/TLS 协议对数据进行加密,以确保数据的安全传输。下面将详细介绍 HTTPS 的原理...

    tomcat下配置https方式

    tomcat下配置https方式 Tomcat配置HTTPS方式 Posted on 2012-06-08 14:22 Delei 阅读(4398) 评论(4) 编辑 收藏 简要记录主要步骤备忘

    Apache2.2+Tomcat6 配置

    配置Apache2.2+Tomcat6的步骤如下: 1. **安装Apache2.2**:在Linux系统上,可以通过包管理器(如apt-get或yum)来安装。确保安装了`mod_proxy`和`mod_proxy_ajp`模块。 2. **安装Tomcat6**:同样通过包管理器安装...

    Tomcat配置方法 Tomcat配置方法 Tomcat配置方法

    2. **server.xml**:这是Tomcat的主要配置文件,定义了服务器的端口(如HTTP的8080,HTTPS的8443)、服务、连接器和引擎等。你可以根据需要更改这些设置。 3. **context.xml**:每个Web应用可以有自己特定的上下文...

    Tomcat6配置使用SSL双向认证

    在IT领域,特别是Web服务器管理与安全配置方面,Tomcat6的SSL(Secure Sockets Layer)双向认证配置是一项关键技能。SSL双向认证不仅能够保护数据传输的安全性,还能确保通信双方的身份验证,这对于金融、医疗等对...

Global site tag (gtag.js) - Google Analytics