配置Tomcat使用https协议(配置SSL协议)

内容概览:

如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议

1.生成安全证书

2.配置tomcat

---------------------------------------------------------------------------------------------------------------------------

预备知识:

sso

cas

ssl

https

ca

---------------------------------------------------------------------------------------------------------------------------

环境:

1.java 1.6

2.tomcat 6_0_26

---------------------------------------------------------------------------------------------------------------------------

生成安全证书:

1.java环境:因为SUN公司提供了制作证书的工具keytool。

在JDK 1.4以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\keytool.exe。

2.创建证书的命令:

Cmd代码  

  1. keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore"

参数的意思如下:

这里密码我输的是tomcat,名字与姓氏为域名,其它的根据具体情况输入

以上命令将生产一对非对称密钥和自我签名的证书f:\tomcat.keystore.

将证书保存到你要存放的地方,我的保存在D:\Tools\Web\ssl\tomcat.keystore

注意:“名字与姓氏”应该是域名,输成了姓名,和真正运行的时候域名不符,会出问题

---------------------------------------------------------------------------------------------------------------------------

配置tomcat:

定位到tomcat的安装目录,找到conf下的server.xml文件

找到如下已经被注释的代码:

Xml代码  

  1. <!--
  2. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
  3. maxThreads="150" scheme="https" secure="true"
  4. clientAuth="false" sslProtocol="TLS" />
  5. -->

去掉注释,修改为:

Xml代码  

  1. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
  2. maxThreads="150" scheme="https" secure="true"
  3. clientAuth="false" sslProtocol="TLS"
  4. keystoreFile="D:\Tools\Web\ssl\tomcat.keystore"
  5. keystorePass="tomcat"
  6. ciphers="tomcat"/>

这里,密码和证书的位置根据个人的具体环境而设置,属性参数如下所述:

属性 描述
clientAuth 如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证
keystoreFile 指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于<CATALINA_HOME>(Tomcat安装目录)环境变量 的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为“.keystore”的文件。
keystorePass 指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。
sslProtocol 指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。
ciphers 指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。

访问支持ssl的web站点:

启动本场tomcat,在浏览器中输入:https://localhost:8443/ ,这里用ie访问

选择继续浏览此网站

成功!!

遇到的问题:

我在配置的过程中问题,当我修改了server.xml的配置后,启动tomcat报错

java.lang.Exception: No Certificate file specified or invalid file format

at org.apache.tomcat.jni.SSLContext.setCertificate(Native Method)

at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:761)

at org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:109)

at org.apache.catalina.connector.Connector.initialize(Connector.java:1123)

at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)

at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:838)

at org.apache.catalina.startup.Catalina.load(Catalina.java:538)

at org.apache.catalina.startup.Catalina.load(Catalina.java:562)

网上找了下,

其实就是将protocol="HTTP/1.1"替换为protocol="org.apache.coyote.http11.Http11Protocol",问题得以解决;

APR给Tomcat的性能提升起到很大作用,建议配置APR方式,这样就可以了

时间: 2024-11-05 02:32:15

配置Tomcat使用https协议(配置SSL协议)的相关文章

javaweb学习总结十八(软件密码学、配置tomcat的https连接器以及tomcat管理平台)

一:软件密码学 1:对称加密 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key).对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中. 对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢.如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解:但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加

配置tomcat的https域名

配置tomcat的https域名: <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslEn

https连接设置SSL协议和加密套件

https连接设置SSL协议(SSL Protocol)和加密套件(SSL Cipher suite) 作者:刚刚 版权所有 SSL(SecureSockets Layer 安全套接层),及其继任者传输层安全(TransportLayer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与SSL在传输层对网络连接进行加密. Linux在安装了openssl以后,一般就会支持SSLv2(已经不安全,不建议使用).SSLv3.TLSv1(建议使用)这些安全传输协议.

Tomcat 开启HTTPS 后爆发SSL相关漏洞解决方法

最近用绿盟扫描系统进行全网系统扫描,有几台设备被扫出了SSL相关漏洞,在此做一个简短的笔记. 本次涉及漏洞 1.漏洞名称:SSL 3.0 POODLE攻击信息泄露漏洞(CVE-2014-3566)[原理扫描] 2.SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)[原理扫描] 知识普及1:SSL协议要点 SSL(Secure Sockets Layer 安全套接层)是一种基于Web应用的安全通信协议,最早由Netscape(网景)公司提出.SSL介于TCP协议

配置Tomcat使用https协议

一.  创建tomcat证书 这里使用JDK自带的keytool工具来生成证书 1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 2. 在命令行中输入以下命令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore" 二. 配置tomcat服务器 定位到tomcat服务器的安装目录, 找到conf下的ser

配置tomcat的https通信(单向认证)

1.首先用jdk带的工具生成证书库 打开cmd命令行窗口,cd 到tomcat安装目录的bin下面执行 keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore  -validity 36500 附:d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下."-validity 36500”含义是证书有效期,默认值是90天(注意若要放到c盘,在win7系统下,需要以管理员

CentOs下,配置tomcat支持https

网上此类教程一大堆,本文主要记录步骤和几个注意点. 首先,我们使用jdk的keytool生成证书.命令如下: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo } span.s1 { } keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore 注意:检查你centos使用的是不是openjdk,如果是请卸载openjdk,安装oracle的jdk.为

HTTPS协议,SSL协议及完整交互过程

文章转自 https://blog.csdn.net/dfsaggsd/article/details/50910999 SSL 1.        安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议. 2.    SSL协议的三个特性 ?  保密:在握手协议中定义了会话密钥后,所有的消息都被加密. ?  鉴别:可选的客户端认证,和强制的服务器端认证. ?  完整性:传送的消息包括消息完整性检查(使用MAC). 3.    SSL的

Spring Mvc和Spring Boot配置Tomcat支持Https

SpringBoot配置支持https spring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可. 1.首先打开命令行工具,比如cmd,输入以下命令 keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 2.然后在你的根目录下面会看到一个.p12的文件,如下图所示: 3.将它移到你的spring boot