【centos系统中tomcat的使用】centos系统中tomcat的ssl配置步骤

更新时间:2019-07-18    来源:CentOS    手机版     字体:

【www.bbyears.com--CentOS】

最近因为用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部分如下,其它不用动:
 
        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
 

本文来源:http://www.bbyears.com/caozuoxitong/58759.html

热门标签

更多>>

本类排行