单点登录系列之三---简单实施SSO

本文详细介绍了如何实施单点登录(SSO)。首先,通过keytool生成和导入根证书,确保HTTPS的启用。然后,配置Tomcat的server.xml以使用HTTPS和密钥库。接着,安装并验证证书。最后,通过添加Cas Client的Jar包和配置web.xml,实现了对Tomcat中HelloWorldExample servlet的SSO保护。
摘要由CSDN通过智能技术生成
默认时,为了启用Web SSO,开发者必须开启HTTPS传输通道。由于传回CASTGC Cookie到CAS服务器需要走HTTPS通道,因此开发者必须准备好X.509 CA证书。当然,您也可以选择修改这一默认行为,但从安全性的角度考虑,不推荐这样做。


1.使用keytool生成根证书
1.1.查看jre信任的证书

(1)查看jre中所有信任的证书信息
keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit

(2)查看别名为root的证书信息
keytool -v -list -alias root -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit


1.2.删除jre中别名为root的证书
keytool -delete -alias root -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit

1.3.开始生成根证书
确认jre中不存在别名为root的证书之后,我们开始生成根证书。
(1)生成密钥库文件root.keystore
keytool -genkey -keyalg RSA -alias root -dname " CN=localhost, OU=javaeeOU, O=javaee, L=GuangZhou, ST=GuangDong, C=CN" -storepass changeit -keystore root.keystore
使用默认密码,直接回车。

(2)导出别名为root的证书,证书名root.crt
keytool -export -alias root -file root.crt -storepass changeit -keystore root.keystore

(3)将证书导入到jre信任证书库中
keytool -import -alias root -file root.crt -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit

(4)查看别名为root的证书信息,确认成功导入到jre信任证书库中
keytool -v -list -alias root -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit


2.启用HTTPS
2.1.在Tomcat中启用HTTPS配置

打开Tomcat目录下的conf/server.xml文件,添加Connector代码如下:
 

Html代码   收藏代码
  1. <span style="font-size: small;"><Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
  2.                maxThreads="150" minSpareThreads="2" maxSpareThreads="10"  
  3.                scheme="https" secure="true"  
  4.                clientAuth="false" sslProtocol="TLS"  
  5.                keystoreFile="conf/root.keystore" keystorePass="changeit"  
  6.                truststoreFile="E:/DevelopTools/JDK/jdk1.5.0_10/jre/lib/security/cacerts" /></span>  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值