`
yuan_xulong
  • 浏览: 89381 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tomcat对https的支持

阅读更多

     因为最近要使用tomcat的https功能,所以对tomcat的ssl简单研究了一下,心得记录如下,供大家参考,如有什么不对的地方欢迎大家留言指正。

    https分为单向认证和双向认证,单向认证就是说,只有客户端使用ssl时对服务器端的证书进行认证,也就是说,客户端在请求建立之前,服务器端会向客户端发送一个证书,一般情况下,这种证书都是由自己或企业自行发布的,所以在客户端使用https时,会跳出“是否信任并继续”,点击信任则表示客户端信任服务器端证书,才可以继续交互。而双向认证是服务器端和客户端都对双方的证书进行认证,这时除了单向认证外,还需要在服务器端的受信任证书列表中加入客户端的证书,这样服务器端才能信任客户端的请求。

 

1.单向认证配置:

  1.  首先使用keytool生成服务端密钥仓库,命令: keytool -genkey -keyalg RSA -alias tomcatsso -dname "CN=localhost" -keystore d:\tomcatsso.keystore -storepass changeit,命令参数-genkey表示是要生成新的密钥库,keyalg表示使用的密钥生成算法是RSA,alias表示别名,keystore表示生成的密钥库存储在什么地方,-storepass是表示密钥库的密码。该步骤生成了一个密钥库,该密钥库包含私钥和公钥等文件。
  2. 从第一步中生成的密钥库中导出证书(公钥),命令:keytool -export -alias tomcatsso -file d:\server.crt  -keystore d:\tomcatsso.keystore  -storepass changeit,export表示是要导出证书,file是表示导出证书的位置,keystore表示证书所在密钥库的位置。该步骤生成一个客户端使用的证书,该证书会被导入到受信任的证书库中。
  3. 把第二步导出的服务端证书导入服务端受信任的证书库,该命令表示服务器端信任该证书,命令:keytool -import -alias tomcatsso -file "d:/server.crt" -keystore "%java_home%/jre/lib/security/cacerts" -storepass changeit,这里的java_home是tomcat使用的jdk的位置,务必记得这一步一定要执行,因为我们自己生成的证书是不受信任的证书,如果没有这一步,在https客户端返回使用公钥及临时密钥时,服务器端无法验证通过,就是因为没有把该证书加入到受信任的证书库中。当然这是一种方法,还可以通过配置tomcat的server.xml文件中的truststoreFile="D:/SSL certificate/server.truststore" truststorePass="changeit"
    ,这里面的受信任库也是通过类似于第一步的keytool -genkey命令生成的,通过keytool -import命令把受信任的证书导入到库中。
  4. 开启tomcat对ssl的支持,具体方法是去掉 <Connector port="8443"...>这一段的注释,并在本段的末尾加上keystoreFile="d:\tomcatsso.keystore" keystorePass="changeit"这两个属性,这两个属性会告诉tomcat去哪儿寻找服务器端密钥库。
  5. 重启tomcat,至此tomcat对https的修改完成。

2.双向认证配置:

  1. 把tomcat中的server.xml文件中的clientAuth的值改为true,表示启用对客户端的认证。
  2. 为服务器端生成证书,生成方法参考单向认证中的第一步。
  3. 为客户端(即IE或firefox)生成证书,以便让服务器来验证它。为了能将证书顺利导入至IE和Firefox,证书格式应该是PKCS12,即生成证书的时候storetype是PKCS12。并且使用keytool -export 导出证书。
  4. 把以上两个证书都加入受信任的证书库,同单向认证中的第三步。
  5. 开启tomcat对ssl的支持,具体方法是去掉 <Connector port="8443"...>这一段的注释,并在本段的末尾加上keystoreFile="d:\tomcatsso.keystore" keystorePass="changeit"这两个属性,这两个属性会告诉tomcat去哪儿寻找服务器端密钥库。
  6. 重启tomcat,至此tomcat对https的修改完成。

以上是个人的简单理解,如有什么问题,欢迎大家拍砖指正。

分享到:
评论

相关推荐

    tomcat支持https配置

    标题中的“Tomcat支持HTTPS配置”是指在Apache Tomcat服务器上启用安全套接层(SSL)协议,以提供加密通信和身份验证。这通常涉及到在Web应用中使用HTTPS(HTTP over SSL/TLS)协议,以保护用户的敏感信息,如登录...

    Tomcat配置HTTPS证书认证

    `Tomcat`作为一个流行的Java Servlet容器,支持HTTP和HTTPS协议,后者提供了加密和身份验证,确保数据传输的安全性。本篇文章将详细介绍如何在Tomcat中配置HTTPS证书认证,以便实现安全的Web服务。 首先,我们需要...

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

    为了实现 Spring Boot 应用程序通过内置 Tomcat 服务器支持 HTTPS 访问,我们需要进行以下几个步骤: 1. **生成证书**:首先需要为应用程序生成一个证书文件。可以使用 Java 的 `keytool` 工具来生成一个 PKCS12 ...

    https原理及tomcat配置https方法

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

    tomcat支持https所需要的文件

    因为tomcat默认支持的是http访问,若需要支持https访问,需要将该文件添加到tomcat的根目录,然后修改conf目录下的server.xml, 将: maxThreads="150" SSLEnabled="true" &gt; ...

    Tomcat-https配置

    Tomcat作为一款广泛使用的开源Java Servlet容器,支持HTTPS配置以提供安全的Web服务。本文将详细介绍如何配置Tomcat以实现HTTPS,以及为何配置HTTPS能解决Flash无法显示的问题。 【HTTPS基础】 HTTPS是HTTP协议与...

    Tomcat https访问设置

    要配置 Tomcat 服务器支持 HTTPS,需要生成证书和配置 Tomcat 的 SSL/TLS 设置。生成证书可以使用 Java 的 keytool 工具,命令如下: keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\home\tomcat....

    tomcat全套配置https协议

    本教程将详细讲解如何配置Tomcat以支持HTTPS协议,包括生成证书、配置端口以及强制所有HTTP请求转换为HTTPS。 首先,我们需要了解HTTPS的核心概念:SSL/TLS证书。这个证书由权威的证书颁发机构(CA)签发,包含公钥...

    tomcat 实现https 双向认证通信

    文章假设读者具备基本的Linux操作技能以及对Tomcat有一定的了解。 #### 环境配置 - **操作系统**: Red Hat Enterprise Linux 5 - **虚拟化环境**: VMWare 7.1.1 - **远程登录工具**: SecureCRT 5.5 - **主机操作...

    tomcat,https加密方式(jsse.openssl)

    ### Tomcat HTTPS 加密配置详解 #### 一、JSSE(Java Secure Socket Extension)SSL 配置 在本文档中,我们重点介绍了如何利用 JSSE(Java Secure Socket Extension)为 Tomcat 实现 HTTPS 加密。这种方法是通过...

    Linux环境下Tomcat的https的配置

    在Linux环境中配置Apache Tomcat以支持HTTPS连接是提高Web应用安全性的重要步骤。HTTPS协议通过使用SSL/TLS加密,可以确保数据传输的安全性,防止中间人攻击。以下将详细讲解如何在Linux上的Tomcat服务器上配置HTTPS...

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

    本篇将详细解释如何配置Tomcat以支持HTTPS,并涉及到两个关键的配置文件:`server.xml`和`web.xml`。 首先,我们需要准备一个SSL证书。你可以从权威的证书颁发机构(CA)购买,或者使用自签名证书。对于测试环境,...

    tomcat启用https

    Tomcat作为一款流行的Java应用服务器,支持通过配置启用HTTPS服务。本文将详细介绍如何在Tomcat环境中启用HTTPS,并使用JDK自带的`keytool`工具制作自签名证书。 #### 二、HTTPS 原理简述 HTTPS 是 HTTP 协议的...

    简单三步教会您 Tomcat 安装SSL证书,Tomcat安装https证书,一看就会,一做就成!

    **步骤2:配置Tomcat的SSL支持** 1. 打开Tomcat的配置文件`server.xml`,这个文件通常位于`conf`目录下。 2. 在`&lt;Server&gt;`或`&lt;Service&gt;`标签内找到`&lt;Connector&gt;`标签,这是配置Tomcat服务器端口的地方。添加一个新的...

    tomcat https 证书安装

    Tomcat作为一个流行的Java应用服务器,支持HTTPS协议来提供加密和身份验证服务。本篇文章将详细阐述如何为Tomcat配置HTTPS证书,确保你的Web应用程序能够安全地与用户进行交互。 首先,我们需要理解HTTPS的基本原理...

    tomcat配置https说明文档

    ### Tomcat配置HTTPS详解 #### 一、生成服务器证书 为了确保Tomcat服务器能够...通过以上步骤,我们成功地为Tomcat服务器配置了HTTPS支持。这不仅可以增强服务器的安全性,还可以满足现代Web应用对于数据加密的需求。

    TOMCAT 6 中配置HTTPS

    Apache Tomcat是一款广泛使用的开源Java应用服务器,它支持HTTP协议,但为了实现更安全的传输,我们需要配置HTTPS。本文将深入探讨如何在Tomcat 6中设置HTTPS。 首先,了解HTTPS的基本原理。HTTPS(Hypertext ...

    tomcat7,tomcat8,tomcat9

    此外,它还加强了对HTTPS的支持,提供了更灵活的错误页面处理,并且支持部署目录结构的变化,使得应用部署更加方便。 **Tomcat8**: Tomcat8于2013年发布,主要支持Java Servlet 3.1和JSP 2.3规范。这一版本带来了...

    在tomcat中实现https安全连接的方法

    为了在Tomcat中启用SSL支持,需要创建一个自签名证书。以下步骤展示了如何在Tomcat中设置SSL证书: 1. **生成证书**:使用`keytool`命令工具来生成证书。命令如下: ```bash %JAVA_HOME%\bin\keytool -genkey -...

    tomcat搭建https所需

    由于Tomcat支持SSL/TLS协议,因此可以很方便地配置为支持HTTPS。 三、配置HTTPS 1. **生成SSL证书** 在部署HTTPS之前,首先需要一个数字证书。你可以选择购买一个由权威证书颁发机构(CA)签发的证书,或者使用自...

Global site tag (gtag.js) - Google Analytics