Apereo CAS 5.0.3.1安装配置

Apereo CAS 5.0开始使用spring boot的进行了全面的重构了,充分使用spring cloud的各个组件。如果是正在学习spring boot和spring cloud的话,这个项目本身就是一个非常好的例子。

要学习Apereo CAS的话,操作系统最好是linux,对于初学者可以节省很多时间。
环境:
CentOS7.3
Oracle JDK8
maven3.3.9
tomcat8.0.X(8.5.X相关配置变化较大,熟悉的也可以使用,Apereo CAS 5.x内置的tomcat版本也是8.5.X)
eclipse+gradle

编译安装

官方的编译安装文档如下
https://apereo.github.io/cas/5.0.x/installation/Maven-Overlay-Installation.html
上边的文档提供了gradle和maven两种方式的模板,按照文档中的步骤执行即可。

顺便提一下,overlay是maven-war-plugin的提供的一种机制,可以将两个Web应用的资源进行合并,相关的class都会被复制到WEB-INF/classes下面,相关的JSP等资源也合并到一起。

部署

CAS的部署需要很多信息安全方面的知识,证书、电子签名、对称非对称加解密等,当然啦,还有HTTPS相关的内容。
推荐下面三个链接的内容:
http://www.codeceo.com/article/https-worker.html
http://www.codeceo.com/article/https-certificate-generation.html
http://www.cnblogs.com/zery/p/5164795.html
从头到尾多看几遍基本上都清楚了。

准备一个域名

当然啦,不是真的准备一个域名,只是自己随便起一个名字,然后添加到各个需要访问CAS Server的操作系统的hosts文件就行了。本域名用于下面生成证书时,作为证书所有者姓名信息输入。同时在部署CAS时,还需要配置到CAS的配置文件中。参考:http://blog.csdn.net/xichenguan/article/details/60782179

证书

颁发证书(生成证书)

颁发证书分两步,第一步要创建一条证书记录,使用JDK创建一个证书记录的命令如下

keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -keystore server.keystore

上边的命令,会创建一条证书记录,同时创建一个server.keystore的密钥库,同时将生成的证书记录写入server.keystore。keystore中的一条证书记录信息包含该条证书的私钥,公钥和对应的数字证书的信息。
第二步,导出数字证书

keytool -export -alias duke -keystore keystore -rfc -file testkey

数字证书包含三部分信息:证书元数据信息,序列号,过期时间等、所有者信息,姓名、地区等、所有者公钥;相比于在keystore中的信息,没有所有者的密钥,所有者的密钥只有所有者自己知道,而此处的数字证书是要分发到公网上的。

在tomcat所在的机器,将证书导入到cacerts

登录Tomcat所在的机器,切换到目录 ${JAVA_HOME}/jre/lib/security, 执行如下命令:

keytool -import -alias vbooking -keystore cacerts -file ${JAVA_HOME}/jre/lib/security/vbooking.cer

可使用如下命令查看证书信息:

keytool -list -keystore cacerts -alias vbooking  

如果要更新证书,可以先删除原证书,再导入新证书:

cd ${JAVA_HOME}/jre/lib/security
keytool -delete -alias vbooking -keystore cacerts
keytool -import -alias vbooking -keystore cacerts -file ${JAVA_HOME}/jre/lib/security/vbooking.cer
keytool -list -keystore cacerts -alias vbooking

重启tomcat即可生效。

客户端浏览器需要导入证书到受信任的根目录证书

用浏览器访问网站,根据提示将导入证书到受信任的根目录证书。

数字证书的生成,分发,使用,可以放到三台机器上,A机器用于生成证书,作为CA,将A生成的数字证书导入B机器上的JRE,在B机器上的tomcat中配置(下面提到tomcat的HTTPS配置),在C机器上的浏览器访问B机器的tomcat,下载证书,将数字证书导入到本机的受信任的根目录证书。

Tomcat SSL

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true" maxHttpHeaderSize="8192"
               clientAuth="false" sslProtocol="TLS" 
			keystoreFile="/etc/cas/server.keystore" 
			truststoreFile="/opt/jdk1.8.0_121/jre/security/cacerts"
			keystorePass="changeit"/>

将tomcat的https配置的注释放开,然后加上下面三个属性配置:

keystoreFile="/etc/cas/server.keystore" 
truststoreFile="/opt/jdk1.8.0_121/jre/security/cacerts"
keystorePass="changeit"

重启tomcat就可以了。可以使用下面的链接测试一下:
https://localhost:8443/

部署

将cas.war放到tomcat里即可。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈振阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值