1 配置WEB服务器的HTTPS服务
以下以Tomcat为主,JBoss下的配置在此不再述及,只要对JBoss较了解就可以很容易的做到。
1.1 开启Tomcat的HTTPS服务
环境:Windows XP + JDK 1.5 + Tomcat 5.0.28
1) 生成服务器端密钥并保存到密钥库文件中
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA -keystore keystore.jks
-alias 自定义别名,此处取tomcat;
-keyalg 主要两种方式:RSA采用MD5加RSA算法加密密钥,DSA 采用SHA1加DSA算法加密密钥,此处采用RSA;
-keystore 密钥库文件。
如果客户端应用与CAS server不在同一JVM中,请执行2)和3):
2) 导出服务端证书
%JAVA_HOME%\bin\keytool -export -file myserver.cert -alias tomcat -keystore keystore.jks
由keystore.jks文件中的tomcat别名项导出myserver.cert服务端证书。
3) 将服务端证书导入JVM信任库中
%JAVA_HOME%\bin\keytool -import -keystore %JAVA_HOME%/jre/lib/security/cacerts -file myserver.cert -alias tomcat
将服务端证书myserver.cert以别名tomcat导入JVM的信任库中,JVM信任库文件cacerts的默认密码为changeit。
4) 配置Tomcat的SSL项
找到%TOMCAT_HOME%\conf\server.xml文件,解开SSL的注释。
实例配置如下:
- <Connector port="8443"
- maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
- enableLookups="false" disableUploadTimeout="true"
- acceptCount="100" debug="0" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="E:/Tomcat5.0/keystore/keystore.jks"
- keystorePass="changeit"/>
此处主要更改keystoreFile和keystorePass属性项,keystoreFile为1)中所生成的文件,
5) 测试
1.2 部署CAS Server应用
1.3 在应用中加入Yale Java Client配置
这里的“应用”,可以说成是CAS里常说的客户端,比如一个OA系统。
1) 在Yale Java Client解压目录中找到cas-client-java-2.1.1\dis\casclient.jar,将其COPY到应用中的WEB-INF/lib包下。
2) 在应用部署描述文件WEB-INF/web.xml中加入
- <filter>
- <filter-name>CASFilter</filter-name>
- <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
- <param-value>https://www.royce.com:8443/cas/login</param-value>
- </init-param>
-
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
- <param-value>https://www.royce.com:8443/cas/proxyValidate</param-value>
- </init-param>
-
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
- <param-value>www.royce.com:8443</param-value>
- </init-param>
-
- </filter>
-
- <filter-mapping>
- <filter-name>CASFilter</filter-name>
- <url-pattern>*.do</url-pattern>
- </filter-mapping>
参数解释:
edu.yale.its.tp.cas.client.filter.loginUrl
用户未登录情况下,访问应用系统的受保护资源时将会跳转到的登录页面
URL
,这里的值即是对应于部署的
Yale CAS Server
的登录页。
edu.yale.its.tp.cas.client.filter.validateUrl
用来校验
ST(Service Ticket)
。
edu.yale.its.tp.cas.client.filter.serverName
客户端的访问时的主机地址。
3) 启动Tomcat,当访问客户端受保护资源时,
CASFilter
将访问重定向到
CAS Server
进行登录,输入用户名和密码(用户名和密码相同即可)。若登录成功,
CAS Server
将访问又重定向回原客户端。
参考文档: