centos系统中tomcat的ssl配置步骤

最近因为用CAS做单点登录,需要配置SSL,过程是比较简单的,记录下各个步骤的含义,以免日后忘记。
需求场景:CAS单点登录,要求必须是SSL,服务器操作系统为CentOS,web容器为tomcat。
如果你作为服务提供方,那你需要看完全文
如果你作为需求客户方,那只需要看第三部分就可以了
 
步骤:
假设我们tomcat的路径为/opt/tomcat,在此目录下新建ssl目录用于存放证书:
 
cd /opt/tomcat/ssl
 
一、首先,我们需要生成SSL证书,用到keytool工具,关键有三步:
①生成keystone,用以下命令
 
#keytool -genkey -alias ssologin -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3650
注:changeit是jdk中证书默认的密码
②从keysotre中导出别名为tomcat-cas-server的证书,生成server.crt文件
 
#keytool -export -trustcacerts -alias ssologin -file server.crt -keystore  server.keystore -storepass changeit 
③将server.crt导入到jre的可信任证书仓库
 
#keytool -import -trustcacerts -alias ssologin -file server.crt -keystore  "$JAVA_HOME/jre/lib/security/cacerts" -storepass changeit
注意:如果是windows主机,使用%JAVA_HOME%,如果是linux就使用$JAVA_HOME
 
二、配置好证书之后,我们需要配置tomcat支持SSL
修改conf/server.xml文件,其中SSL部分如下,其它不用动:
 
<Connector port="443" protocol="HTTP/1.1"
        connectionTimeout="5000" URIEncoding="UTF-8"
        scheme="https" secure="true" SSLEnabled="true"
        clientAuth="false" sslProtocol="TLS"
        keystoreFile="/opt/tomcat/ssl/server.keystore"
        keystorePass="changeit"/>
修改后之后,重启tomcat即可生效
再正式访问之前,记得把防火墙的443端口打开,centos的iptables配置如下:
 
#vi /etc/sysconfig/iptables
添加以下配置:
 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
配置完之后记得重启iptables:
 
#service iptables restart
iptables重启之后,你就可以通过浏览器访问了https://your.domain.com
 
三、tomcat作为SSL的客户端
如果我们的应用作为客户端需要与开启SSL的服务器进行通信,那我们必须将服务器证书安装在jre的可信列表中.
具体步骤是:将上述第一步中的第②小步生成的server.crt分发给需要使用的客户端,然后在客户端用keytool工具导入到jre的可信列表,如下命令:
 
#keytool -import -trustcacerts -alias ssologin -file server.crt -keystore  "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
 
注意:我这里的机器是windows机器,所以使用%JAVA_HOME%,其实这个导入过程和一.③是一样的
 
四、其它可能会用到的证书相关命令
①列出系统仓库中存在的证书名称:
 
#keytool -list -keystore "$JAVA_HOME/jre/lib/security/cacerts" -storepass changeit
 
如本文中添加的证书,会找到这么一行
 
ssologin, 2014-9-4, trustedCertEntry,
认证指纹 (MD5): 12:3B:02:6F:78:6E:A6:D3:AB:96:CA:63:7D:7B:55:04
 
②消除系统中存在的名为ssologin的证书
 
#keytool  -delete  -alias  ssologin  -keystore  "$JAVA_HOME/jre/lib/security/cacerts" -storepass changeit
#keytool -delete -alias ssologin -storepass changeit
 

时间: 2024-11-05 16:41:38

centos系统中tomcat的ssl配置步骤的相关文章

CentOS系统中Webmin控制面板安装配置教程

我则是非常喜欢喜欢面板,自从玩VPS,第一次安装的就是webmin了!感情至深,包括我的博客的也是安装的webmin,优化的很好! 对于webmin优化好了的Open VZ的VPS要比XEN的VPS性能强大!本博客开启大量的插件,在1G的XEN中无法正常运行,而单独在512M的openvz的VPS就是刚刚好,所以不能忽视webmin的强大功能!好了废话不说,奔入吧! 1.webmin介绍 Webmin是一个基于Web界面的Unix/Linux主机管理面板,是用perl编写的.用于管理帐号.web

CentOS系统中怎么修改默认SSH端口?

  CentOS系统中怎么修改默认SSH端口?          默认的centOS默认端口是22,时间久了你会找到很多日志文件,这是扫描攻击留下的错误日志.那么今天我们要做的就是改成只有自己知道的数字,这样降低了被扫描到的几率,也就等于提高了安全性. 1.登陆SSH修改配置文件,输入如下命令 vi /etc/ssh/sshd_config 会出现如下提示,大家能够看到#port 22,代表默认端口22.按下键盘的a,vi命令中a是编辑,你按下a之后进入编辑状态,这时候可以用键盘的上下键移动绿色

在CentOS系统中安装RPMforge的方法

  RPMforge 是 Dag.Dries 和其它软件包的组合.它们为 CentOS 提供了超过 4000 个软件包,包括 mplayer.xmms-MP3和其它流行的媒体播放工具.RPMforge 不是红帽子 Linux 产品或 CentOS 的组成部分,但它是为这些 Linux 套件而设计的. 注释:因为这个安装源不是 CentOS 本身的组成部分,所以有关技术支持的问题应当向 RPMforge 的维护者发送. RPMforge 软件包以 rpm 格式提供,并且一般都是可用的.必需注意,有

CentOS系统中一键安装Openstack图文教程_OpenStack

前言 首先找到一个国外的网站, http://openstack.redhat.com/Main_Page,进入到quickstart页面中 简单翻译如下:       用到的工具是一个被成为RDO的东东, 能够在基于RHEL内核的linux系统,如RedHat,CentOS,Scientific Linux下,快速实现三步安装.  一:安装RDO软件 sudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpm 二:安装一个叫p

CentOS系统下MongoDB安装及配置教程_MongoDB

一.准备工作:运行yum命令查看MongoDB的包信息 复制代码 代码如下: [root@vm ~]# yum info mongo-10gen (提示没有相关匹配的信息,) 说明你的centos系统中的yum源不包含MongoDB的相关资源,所以要在使用yum命令安装MongoDB前需要增加yum源,也就是在 /etc/yum.repos.d/目录中增加 *.repo yum源配置文件,以下分别是针对centos 64位和32位不同的系统的MongoDB yum 源配置内容: 我们这里就将该文

centos系统中VPS忘记密码该如何解决?

  centos系统中VPS忘记密码该如何解决?          下面我就随便拿一个VPS来测试,本文以CentOS5.*系统为例,分别在2台KVM架构VPS上测试,他们是:XSVPS.COM(堪萨斯)和VPSPLAZA.COM(新加坡) 假设我们忘记了root密码,首先,登陆到SolusVM管理面板,我们先执行重启,然后VNC连接上去. 可以直接在面板中点击VNC按钮,也可以记录VNC信息后使用工具,我这里直接后台执行. 注意上面这一步,重启了就立马去VNC,动作稍快点,因为这个启动菜单很快

CentOS系统中安装配置Apache+PHP+MySQL环境

  首先下载软件; [root@localhost ]# wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz --00:47:30-- http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz Resolving apache.mirror.phpchina.com... 221.194.139.225 Connecting to apache.mirror.p

centos中Nginx 安装ssl证书步骤

先说下https也就是ssl证书,一般我们认为https是安全的,但是SSL 证书的信用链体系并不安全.特别是在某些国家(咳咳,你们懂的)可以控制 CA 根证书的情况下,中间人攻击一样可行.另外,在客户端被植入无数后门.木马的状况下,HTTPS 连接的作用非常有限.   我不使用的原因 更换https和替换域名代价是一样的又拍云不支持自定义域名https好了,我们可以开始配置ssl了.一般来说我比较推荐namecheap的ssl证书,因为比较便宜,毕竟对大部分个人博客来说只是想要那个绿锁提升逼格

CentOS 6中iRedMail安装和配置教程

看到很多VPS用户并不是用来搭建网站的,而是用来创建邮件服务器使用发送邮件,所以老左也来学习这类功能的应用.学习和使用搭建邮件服务器肯定需要先用到免费开源的iRedMail软件.iRedMail能够在Red Hat.CentOS.SDebian. Ubuntu等环境系统中快速部署邮件服务器的解决方案.在这篇文章中,老左分享的是自己在Centos 6 32位系统中成功搭建的过程. 第一.更新系统安装包  代码如下 复制代码 yum update 在准备安装之前,必须更新系统安装包,因为如果不处理这