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

Tomcat里面配置HTTPS注意事项

阅读更多
通过给别人解决Tomcat的配置SSL的问题,又加深了一些理解,也想为新人记录一些注意事项。现在记录如下:

1. 生成证书的文章多得是,我就不说了,但是在配置ssl的时候,可以直接使用PKCS12格式的证书充当证书库,可能不是每个人都知道。如果这样使用的时候,一定要告诉Tomcat你正在使用PKCS12格式的证书库,因为默认的格式是JKS. 举例如下:

<Connector secure="true" scheme="https" protocol="HTTP/1.1" port="8443"
    SSLEnabled="true" maxThreads="150" sslProtocol="TLS" clientAuth="true" 
    keystoreFile="E:\JBosss_Tomcat\Tomcat6\Test_SSL\apache-tomcat-6.0.18\conf\server.p12"
    keystoreType="PKCS12" keystorePass="password" 
    truststoreFile="E:\JBosss_Tomcat\Tomcat6\Test_SSL\apache-tomcat-6.0.18\conf\root.jks"
    truststoreType="JKS" truststorePass="password"/> 


2. XML文件是区分大小写的,你写在server.xml里配置的有些是通过MBean赋值到Tomcat的javabean里的,如果你大小写搞错了,他也无法认识。举例:如keystoreFile如果你写成keystorefile, tomcat就不知道这个文件在哪里,因为你指定的文件路径并没有通过MBean赋值到Tomcat里的javabean。

3. 文件的路径,如果在server.xml没有指定路径,而只指定一个文件名,Tomcat会到它的根目录下去找文件,如果文件不是放在根目录下,也是找不到的。这里的根目录也可以叫“默认目录”。其实还有一个“默认目录”的概念, 如果在server.xml里不指定keystoreFile的话,如下配置:
<Connector secure="true" scheme="https" protocol="HTTP/1.1" port="8443"
    SSLEnabled="true" maxThreads="150" sslProtocol="TLS"/>


Tomcat会到当前用户的根目录下去找一个叫".keystore"的文件,如果当前用户是Administrator, 就去找文件C:\Documents and Settings\Administrator\.keystore, 如果找不到启动的时候就会出错。这个应该与JVM有关,不知道有没有办法改变这个路径。

4. 如果不是做JSSE的ssl开发的话,可能很少有人用系统参数来指定keyStore和trustStore的。在做JSSE的时候可以用如下配置:
-Djavax.net.ssl.trustStore="E:\JBosss_Tomcat\Tomcat6\Test_SSL\apache-tomcat-6.0.18\conf\root.jks" 
-Djavax.net.ssl.trustStorePassword="password"
-Djavax.net.ssl.trustStoreType="JKS" 
-Djavax.net.ssl.keyStore="E:\JBosss_Tomcat\Tomcat6\Test_SSL\apache-tomcat-6.0.18\conf\server.p12"
-Djavax.net.ssl.keyStorePassword="password" 
-Djavax.net.ssl.keyStoreType="PKCS12"

这样也可以指定这些参数。但是在Tomcat里的trustStore这样指定一点问题都没有,但是keyStore这样,却不行。我不知道是什么原因,如果有知道的朋友可以指出来。

5. 如果有关这些trustStore都不想配置,那可以直接把你的CA导入到JRE里。如果你使用的CA是特别著名的CA, 那么很可能JRE里已经有了,那么这一步不用做任何与trustStore有关的配置。

6. keystoreFile里必须是有私钥信息的,因为建立ssl握手必须要有私钥(有兴趣的话,最好了解一下握手过程, 请见最后附件的示意图。)。可以把p12里的信息证书和私钥导入到jks里(有些CA直接发的是p12格式的证书,而没有直接发给你x.509格式的),这个可能有点麻烦,因为keytool根本就没有提供操作私钥的办法。在测试时你也可以先用keytool生成一个带有证书的jks, 然后把里面的证书导出来。

证书的其他概念也可以参考:http://grandboy.iteye.com/admin/blogs/441778

先总结这么多吧。以后再补充。


附件:

HTTPS通信过程(单身认证)示意图:



我记得以前专门写过一个文章,详细讲解这个通信过程的。但是现在找不到了,只简单画一个图说明一下。网上也有很多牛人写的这方面文章,只不过信息太多,可能要甄别一下准确性。
  • 大小: 9.8 KB
分享到:
评论

相关推荐

    tomcat下配置https环境

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

    Tomcat配置HTTPS证书认证

    在IT行业中,安全通信是至关重要的,特别是在Web...但需要注意,HTTPS配置的细节可能会根据不同的Tomcat版本和具体需求有所不同,务必根据实际情况进行调整。同时,定期更新和替换证书也是保持网络安全的重要环节。

    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协议,包括生成证书、配置端口以及强制所有HTTP请求转换为HTTPS。 首先,我们需要了解HTTPS的核心概念:SSL/TLS证书。这个证书由权威的证书颁发机构(CA)签发,包含公钥...

    Tomcat中配置https

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

    tomcat上配置https证书

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

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

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

    tomcat支持https配置

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

    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) 编辑 收藏 简要记录主要步骤备忘

    tomcat及其配置文件

    【标题】:“Tomcat及其配置文件” 在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,它专注于Servlet和JSP的应用。Tomcat是Apache软件基金会的Jakarta项目的一部分,作为一个轻量级的Web服务器和...

    tomcat 如何配置成https

    ### Tomcat 配置HTTPS详解 #### 一、创建Tomcat证书 为了使Tomcat能够支持HTTPS服务,首先需要创建一个SSL证书。本教程将详细介绍如何使用JDK自带的`keytool`工具来生成自签名的SSL证书。 ##### 1. 打开`keytool....

    Tomcat5配置方法与注意事项.pdf

    Tomcat5配置方法与注意事项.pdf

    Tomcat配置https单向加密

    【Tomcat配置HTTPS单向加密】是指在Apache Tomcat服务器上设置HTTPS协议,以实现数据传输的安全性。HTTPS协议基于SSL/TLS协议,能够提供数据的加密、服务器身份验证和消息完整性检查,确保网络通信的安全。单向加密...

    tomcat集群配置

    **五、注意事项** 1. **序列化兼容性:** 由于会话数据需要在节点间复制,因此必须确保所有节点的序列化类库版本一致。 2. **故障恢复:** 当某个节点故障时,负载均衡器应能自动将请求路由到其他健康的节点。 3. *...

    Tomcat 开启基于https的SSL配置

    Tomcat 开启基于 HTTPS 的 SSL 配置 在互联网时代,安全性问题变得越来越重要,为了保护用户的隐私和数据,越来越多的网站开始使用 HTTPS 协议。Tomcat 作为一个流行的 Java Web 服务器,当然也支持 HTTPS 协议。...

    Linux下JDK+Tomcat安装配置

    Linux下JDK+Tomcat安装配置 在本文档中,我们将详细介绍如何在CentOS系统上安装和配置JDK和Tomcat环境。以下是整个安装和配置过程的步骤。 一、下载所需文件 在开始安装之前,需要下载两个必要的文件:jdk-7u25-...

    tomcat部署GDAL项目注意事项.md

    在IDEA环境下运行GDAL+Postgre项目时,环境配置会出各种问题;在打包war包放入tomcat运行时也会出现各种问题,文档提到的注意事项都检查一遍,基本部署就不是问题了

Global site tag (gtag.js) - Google Analytics