cas server 4.0 (CAS服务端) 与 Tomcat 配置
1、生成证书
1.1 运行CMD
C:\Users\Administrator>keytool -genkey -alias tomcat -keyalg RSA -keypass change
it -storepass changeit -keystore server.keystore -validity 3000
您的名字与姓氏是什么?
[Unknown]: COCO //计算机名或者域名,我是计算机名为例
您的组织单位名称是什么?
[Unknown]:回车
您的组织名称是什么?
[Unknown]:回车
您所在的城市或区域名称是什么?
[Unknown]:回车
您所在的州或省份名称是什么?
[Unknown]:回车
该单位的两字母国家代码是什么
[Unknown]: ZH
CN=COCO, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=ZH 正确吗?
[否]: y
1.2 导出证书
C:\Users\Administrator>keytool -export -trustcacerts -alias tomcat -file cas.cer
-keystore server.keystore -storepass changeit
保存在文件中的认证 <cas.cer>
生成证书的默认目录 (win7/win8):C:\Users\Administrator \ cas.cer 和 C:\Users\Administrator \server.keystore
1.3 客户端导入证书
C:\Users\Administrator>keytool -import -keystore D:\Java\jdk1.6.0\jre\lib\securi
ty\cacerts -file C:/Users/Administrator/cas.cer -alias client
输入keystore密码:changeit
再次输入新密码:changeit
所有者:CN=www.coco.com, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=ZH
签发人:CN=www.coco.com, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=ZH
***:53fc2ad2
有效期: Tue Aug 26 14:36:02 CST 2014 至Sat Nov 12 14:36:02 CST 2022
证书指纹:
MD5:14:3C:A9:BA:BB:0C:85:7C:94:9D:0F:6A:51:EF:A5:A8
SHA1:F2:42:D4:A5:95:97:8D:78:32:C1:4F:40:AF:80:BA:BE:8C:00:4F:73
签名算法名称:SHA1withRSA
版本: 3
信任这个认证? [否]: y
认证已添加至keystore中
这时 jdk1.6.0\jre\lib\security 目录 会生成一个cacerts 文件。
1.4 配置CAS服务器
替换 tomcat /conf/server.xml 里面的 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 这对标签的内容。
- <Connector className="org.apache.coyote.tomcat6.CoyoteConnector"
- port="8443" minProcessors="5"
- maxProcessors="75" enableLookups="true"
- acceptCount="100"
- protocol="HTTP/1.1" SSLEnabled="true"
- maxThreads="150" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="C:/Users/Administrator/server.keystore"
- keystorePass="changeit" />
2、验证服务端是否配置正确
2.1 cas-server-4.0.0-release 官网下载 https://www.apereo.org/cas/download,解压后将cas-server-4.0.0-release\cas-server-4.0.0\modules\cas-server-webapp-4.0.0.war
复制到apache-tomcat-6.0.41\webapps下面重命名为cas.war ,也可以不用重命名。
2.2 启动Tomcat 无报错后,浏览 https://localhost:8443/cas/login 以默认用户名:casuser,密码:Mellon 登陆。
注:cas-server-4.0.0-release 默认的验证规则 不再是以用户名和密码相同就通过了,而是由
cas-server-4.0.0-release\cas-server-4.0.0\cas-server-webapp\src\main\webapp\WEB-INF\deployerConfigContext.xml的 <entry key="casuser" value="Mellon"/> 的key-value为用户名和密码。
2.3 注销 https://localhost:8443/cas/logout
2.4 问题
虽然以 http://localhost:8080/cas/login 也可以登陆,是没有https 安全认证的,无意义。
Non-secure Connection
You are currently accessing CAS over a non-secure connection. Single Sign On WILL NOT WORK. In order to have single sign on work, you MUST log in over HTTPS.