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

Tomcat配置SSL安全协议

 
阅读更多

Tomcat配置SSL安全协议

文档说明:本文件适用于用JSSE设置Tomcat的SSL。 如果使用APR, Tomcat是通过 OpenSSL来实现SSL,设置会不同。

一、SSL简介

在网络上,信息在由源主机到目标主机的传输过程会经过其他计算机,网络上的信息有可能被非法分子监听,从而导致个人隐私泄露。随着电子商务的发展,对信息安全的要求越来越高,于是Netscape公司提出了SSL(Server Socket Layer)协议,旨在达到在开放网络(Internet)上安全、保密地传输信息的目的。

SSL是一种保证网络上的两个节点进行安全通信的协议,建立在SSL协议上的HTTP被称为HTTPS协议。HTTPS使用的默认端口是443。SSL采用加密技术来实现安全通信,保证通信数据的保密性和完整性,并且保证通信双方可以验证对方的身份。

加密技术的基本原理是:数据从一端发送到另一端,发送者先对数据加密,然后再把它发送给接受者。这样,在网络上传输的是经过加密的数据,如果有人非法截获了这批数据,由于没有解密的密钥,就无法获得真正的原始数据。接收者收到加密的数据后,先对数据解密,然后再处理。

SSL通过安全证书来证明客户或服务器的身份。当客户通过安全的连接和服务器通信时,服务器会先向客户出示它的安全证书,而每一个证书在世界范围内都是唯一的。

为了扩大用户群,一些服务器向客户出示证书后,并不要求客户出示安全证书,但在某些情况下,服务器也会要求客户出示安全证书,以便核实该客户的身份。

二、安全证书的获取方式

安全证书的获得有两种方式:

1、从权威机构获得证书

Certificate Authority,CA和VeriSign和Thawte,它们保证了证书的可信性。申请证书时,需要付费,且一个证书只针对一个IP有效。

2、创建自我签名的证书

如果只关心数据在网络上的安全传输,而不需要对方身份验证,可以创建自我签名的证书。与权威机构颁发的证书采用的加密技术是一样的。

三、为Tomcat配置SSL安全协议(这种方式只适合安装版的)

可以根据安全需要,为Tomcat配置SSL,它包含以下两个步骤:

1、准备安全证书

2、配置Tomcat的SSL连接器(Connector)

3.1创建自我签名的证书

SUN公司提供了制作证书的工具keytool。在JDK1.4以上版本中都包含了这一工具。通过这个工具生成证书的命令为:

keytool-genkey -alias tomcat -keyalg RSA

以上命令将生成包含一对非对称密钥和自我签名的证书,这个命令中参数的意思

-genkey:生成一对非对称密钥。

-alias:指定密钥对的别名,该别名是公开的。

-keyalg:指定加密算法,此处采用通用的RSA算法。

以上命令将在操作系统的用户目录下生成名为”.keystore”的文件。

如果希望生成的keystore文件放在其他目录中,可以使用-keystore参数

keytool-genkey -alias tomcat -keyalg RSA -keystore d:\.keystore

使用keytool工具生成证书的界面如图1-1所示:

图1-1 使用keytool工具生成证书

生成的证书文件“[系统用户目录下]\.keystore”如图1-2所示:

 

图1-2使用keytool生成的证书

3.2使用keytool工具注意事项:

1. 默认情况下.keystore文件存放在 [用户目录下] 

2. 在执行keytool命令式可以使用-keystore参数指定.keystore文件的生成目录

3.3 Tomcat配置SSL连接器

1. 在Tomcat的【catalina_path】\conf\server.xml文件中,已经提供了现成的配置SSL连接器的代码,只要把注释去掉即可

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

 

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

 

2.Connector其他属性:

keystoreFile:指定keystore文件的存放位置,可以指定绝对路经。如果此项没有设定,在默认情况下,Tomcat将从当前操作系统用户的用户名目录下读取名为”.keystore”的文件

keystorePass:指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用”changeit”密码。

3.使用SSL协议访问Tomcat

使用所示的界面:

 

图1-3不信任的证书

当我们点击仍然继续可见看见所有的连接都是Https开头的

 

图1-4成功页面示意图

 

分享到:
评论

相关推荐

    解决tomcat配置ssl错误的解决办法

    解决tomcat配置ssl错误的解决办法,不一定有用,只是一个备份。不需要分就是因为不一定能帮到谁。

    Tomcat 配置SSL完美 https可以正常使用 小程序调用

    Tomcat 配置SSL完美 https可以正常使用 小程序调用Tomcat 配置SSL完美 https可以正常使用 小程序调用Tomcat 配置SSL完美 https可以正常使用 小程序调用

    Tomcat_SSL.rar_JAVA SSL _ssl_ssl java_tomcat_tomcat ssl

    Tomcat中SSL配置(SSL安全协议认证)

    Tomcat 开启基于https的SSL配置

    Tomcat 开启基于https的SSL配置

    SSL/TLS 检测工具以及 tomcat 正向加密配置例子

    本资源包含一个 openssl 工具安装包 Win32OpenSSL-1_1_0c.exe,一个 tomcat 进行配置 ssl 证书、完全 TLS v1.2、完全正向加密的 server.xml、startup.bat 配置文件。关于tomcat 进行配置 ssl 证书、完全 TLS v1.2、...

    Tomcat SSL 配置

    本人在开发的时候,使用tomcat,有需要配置Https协议,tomcat的https默认端口是8443,该文档是本人在实践中得出的总结,跟指导可以成功配置SSL,希望对你们有用。

    LINUX下TOMCAT及WEBLOGIC下SSL配置手册

    在LINUX 下配置 WEBLOGIC及 TOMCAT服务器SSL协议的具体步骤。

    SSL 和windows及浏览器等兼容性报告

    本报告就如何配置SSL/TLS以提供最先进的身份验证和加密技术提出了一般性建议。ssl引擎提供的选项是从 自从Netscape开发SSL2.0以来的早期。TLS的引入使问题变得更具有挑战性,因为服务器和客户端根据各个ssl引擎提供...

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统...

    iOS企业级应用的tomcat服务器和客户端配置

    iOS7.1之后苹果从安全性考虑添加了https的限制,https协议要求服务器支持https请求并且配置有效的SSL证书 ,SSL证书可以从权威机构购买也可以自己openSSL制作,本文档主要说明用tomcat配置https自签名证书 ...

    webSocket配置wss访问

    Springboot2.1配置ssl实现https访问,集成WebSocket,实现ws和wss访问

    Tomcat 9 软件及其源码

    4. SSL/TLS配置改进:Tomcat 9 对 SSL/TLS 配置进行了改进,包括对密码套件、协议版本和证书管理等方面的增强。 5. JSP 2.3和EL 3.0的改进:Tomcat 9 继续支持 JSP 2.3 和 EL 3.0 规范,并对其进行了一些改进和优化...

    server.xml

    tomcat配置https协议的server配置 ,ssl需要在哪个服务器上生成SSL协议,放到服务器的某个文件夹下,在server.xml中配置路径,密码

    Apache-Tomcat-8.5.5(Linux )

    如果配置Connector不指定class name,而是指定协议。那么如果没有配置APR,Tomcat会使用Http11NioProtocol。 为什么不使用NIO2,一看感觉像是加强版的NIO一样??其实两个是不同的东西。NIO是reactor模式,平常说的...

    HTTPS权威指南:在服务器和Web应用上部署SSLTLS和PKI【试读】

    介绍密码学和最新的TLS协议版本 讨论各个层面上的弱点,涵盖实施问题、HTTP和浏览器问题以及协议漏洞 ...给出使用Apache httpd、IIS、Java、Nginx、Microsoft Windows和Tomcat进行安全服务器配置的实际建议

    linux中小企业服务器配置方案

    第三章 第五节 为Apache增加SSL安全保护 第四章 邮件服务器--第一节 Sendmail服务器 第四章 第二节 Qmail服务器 第四章 第三节 三个重要的邮件系统相关协议 第五章 文件服务器--第一节 Samba服务器 第五章 第二节 ...

    Tomcat自动https跳转配置

    简单说来使用https协议的网站,信息的传递是进行了加密的,即使被人截取了,也没法轻易知道里面的信息,所以被称为安全的。现在百度、淘宝这种大型网站都是自动跳转https连接了。  我呢,是觉得每次登陆自己的网站...

    Linux中小企业服务器配置方案.zip

    第三章 第五节 为Apache增加SSL安全保护 第四章 邮件服务器--第一节 Sendmail服务器 第四章 第二节 Qmail服务器 第四章 第三节 三个重要的邮件系统相关协议 第五章 文件服务器--第一节 Samba服务器 第五章 第二节 ...

    基于Javaweb+Tomcat+MySQL的大学生公寓管理系统.zip

    MySQL提供了一系列安全措施,如用户账户管理、访问权限控制、SSL/TLS加密连接、审计日志等功能,确保数据的安全性和合规性。同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,...

    基于ZigBee+ESP32+MQTT+EMQX+TomCat+Servlet接口+MySQL+安卓app的物联网课设.zip

    MySQL提供了一系列安全措施,如用户账户管理、访问权限控制、SSL/TLS加密连接、审计日志等功能,确保数据的安全性和合规性。同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,...

Global site tag (gtag.js) - Google Analytics