`
grandboy
  • 浏览: 125210 次
  • 性别: 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的总结

    ### 在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协议,包括生成证书、配置端口以及强制所有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服务器和...

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

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

    Tomcat 开启基于https的SSL配置

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

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

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

    tomcat集群配置

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

Global site tag (gtag.js) - Google Analytics