CAS Server部署指南

1 查看系统基本信息

1.1 确认发行版

登录到Linux服务器执行 lsb_release -a ,即可列出所有版本信息,例如:

[root@3.5.5Biz-46 ~]# lsb_release -a 
LSB Version: 1.3
Distributor ID: RedHatEnterpriseAS
Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 1)
Release: 4
Codename: NahantUpdate1

1.2 生成证书

keytool -genkey -keyalg RSA -dname CN=10.160.5.242 -ext san=ip:10.160.5.242 -alias sso_dtdream -keysize 1024 -validity 730 -keypass changeit -keystore /root/keystore

注意密码用changeit

1.3 导出证书

keytool -export -alias sso_dtdream -keystore /root/keystore -file sso.crt

1.4 确认Java版本和证书库的位置

如下图所示,确认java的版本是1.8,证书库的位置是/etc/pki/java/cacerts



1.5 确认tomcat已经正确安装

如下图所示,说明tomcat已经正确安装,版本号为7.0,且已经正常启动和运行。


1.6 其他准备

需要如下文件:
cas.war: CAS服务的所有文件,用来部署用的归档包。
keystore: 用来存储证书私钥和公钥的证书库文件
sso.crt: 用于在客户端验证CAS Server的CA证书(此处指自签名证书)

2 服务器端部署

2.1 配置证书库

服务器端需要用证书库中的私钥来协商HTTPS通道,还要从证书库中取证书发送给客户端进行验证。这里需要将用到的证书库放到合适的位置。以CentOS7为例,我们需要先把keystore文件拷贝到一个可以访问的目录,这里拷贝到/var/lib/tomcat目录下,为了保证有访问权限,将owner和group都修改为tomcat:

[root@iZ25gix959xZ ~]# cp keystore /var/lib/tomcat
[root@iZ25gix959xZ ~]# chown tomcat /var/lib/tomcat/keystore
[root@iZ25gix959xZ ~]# chgrp tomcat /var/lib/tomcat/keystore

2.2 修改配置文件

以CentOS中配置tomcat为例,修改/etc/tomcat/server.xml文件:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"           
      maxThreads="150" SSLEnabled="true" scheme="https" secure="true"           
      clientAuth="false" sslProtocol="TLS"
      keystoreFile="/var/lib/tomcat/keystore" keystorePass="changeit"
      truststoreFile="/usr/local/jdk1.8.0_45/jre/lib/security/cacerts"/>

其中keyStoreFile中制定先前配置的证书库文件即可。

2.3 启动服务

将cas.war拷贝到tomcat的WEB服务目录下,如/var/lib/tomcat/webapp
然后重启tomcat服务,以CentOS7为例:

[root@iZ25gix959xZ ~]# service tomcat restart

3 客户端部署

3.1 导入Server端证书

keytool -import -keystore "%JAVA_HOME%"\jre\lib\security\cacerts -file D:\server\ftp\sso_dtdream.crt -alias sso

上述命令将证书导入到Java的证书库中,该证书主要用于验证CAS Server端发过来的证书,用于给CAS Client用的。 CAS Client主要包含在App Server中,本步骤只需要在APP server端来完成。

3.2 修改配置文件

APP server和CAS Server连接的时候会用HTTPS进行通信。以Tomcat为例,因为用来验证CAS Server服务器证书的证书库即为%JAVA_HOME%下的cacerts,不需要再做额外的配置,会自动去cacerts去取证书验证CAS Server。

4 问题

4.1 没有找到算法的错误

显示信息如下:

Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation

可以继续向下看调用栈,可以看出原因应该是读证书库的时候出错了。

解决方法:
将truststoreFile="/usr/local/jdk1.8.0_45/jre/lib/security/cacerts" 修改为TruststoreFile="/etc/pki/java/cacerts"即可。推测原因是/usr/local/jdk1.8.0_45/jre/lib/security/cacerts这个目录,tomcat没有访问的权限。需要注意,/etc/pki/java/cacerts里面必须是一个可用的证书库,不能是空文件或者链接文件。

4.2 访问/login/cas的时候提示404错误

该错误一般出现在Spring4.0以前的版本,Spring4.0的版本上不会出现这个错误。
需要在
<bean id="casAuthenticationFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter">
中添加下面的属性:
<property name="filterProcessesUrl" value="/login/cas " />

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 主要介绍CAS SSO的认证流程。有关这方面的内容再网上也有很多资料,写这篇总结目的一来是自己在理解这块内容的时候...
    spilledyear阅读 9,807评论 1 17
  • 【环境说明】: 本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows...
    yljava阅读 9,255评论 3 8
  • 【环境说明】:本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7...
    黄海佳阅读 8,781评论 2 15
  • 在公司里,一旦有多个系统时,单点登录(Single Sign On)几乎是必须的,可以使用统一鉴权中心CAS,它是...
    老鼠AI大米_Java全栈阅读 7,125评论 0 11
  • 转载自:http://blog.csdn.net/turkeyzhou/article/details/55097...
    大诗兄_zl阅读 2,349评论 0 3