文档章节

Tomcat配置SSL安全协议

milin
 milin
发布于 2014/12/15 23:37
字数 1242
阅读 24
收藏 0
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" />

2.Connector其他属性:

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

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

3.使用SSL协议访问Tomcat

使用https://localhost:8443/访问一下Tomcat会出现如图1-3所示的界面:


图1-3不信任的证书

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


图1-4成功页面示意图

本文转载自:http://blog.csdn.net/afgasdg/article/details/6909472

共有 人打赏支持
milin
粉丝 10
博文 94
码字总数 19598
作品 0
郑州
高级程序员
私信 提问
Tomcat服务器搭建Https协议

什么是Http协议? HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议之上的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式 ...

宇你同在
2018/05/21
0
0
Tomcat6和Tomcat7配置SSL通信的比较

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/9430333 《Tomcat6和Tomcat7配置SSL通信的比较》作者:chszs,转载需注明。博客...

chszs
2013/07/24
0
0
spring security3.x学习(19)_tomcat的SSL

本文为转载学习 原文链接:http://blog.csdn.net/dsundsun/article/details/11880683 在日常使用在线站点时,你很可能已经听说或使用过SSL。安全套接字层(SSL)协议,以及其后续的传输层安全...

heroShane
2014/02/02
0
0
Tomcat配置https及访问http自动跳转至https

https介绍: HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密...

漠、
2012/06/18
0
0
https开发——tomcat配置

最近公司有微信小程序的项目,微信小程序调用接口需要HTTPS协议。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版...

邵鸿鑫
2017/02/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何有效的背单词

转眼间到了大三快要结束了。英语四级考了三次了,每次都220多分。成绩很稳定,但离四级线还有200多分。学校规定如果过不了四级线,就拿不到学士学位证。没有学位证就找不到好工作,找不到好工...

我是菜鸟我骄傲
37分钟前
1
0
导出表格

https://blog.csdn.net/hhzzcc_/article/details/80419396

Js_Mei
今天
0
0
Ubuntu中安装Elasticsearch

1.安装jre elasticsearch是使用java开发的搜索引擎,因此其运行依赖于java runtime environment,我们在这里不使用Oracel的官方jre,改为使用open-jre。 运行环境: ubuntu:18.04 jre:openj...

cloes
今天
0
0
nginx rails 详细站点配置入门教程

Ruby on Rails 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,R...

xiangyunyan
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部