一、配置证书
1、如果是在tomcat下:
如果C:/Documents and Settings/Administrator/.keystore已经存在,请先删除。
删除方法:keytool -delete -alias tomcat -keystore "%java_home%/jre/lib/security/cacerts" -keypass changeit
keytool -genkey -alias tomcat -keyalg RSA
输入tomcat的缺省口令changeit
用户前名和用户后名都用localhost (真实环境中请换成你应用的域名)
keytool -export -alias tomcat -file server.crt
只能输入tomcat的缺省口令changeit
导入
keytool -import -trustcacerts -alias tomcat -file server.crt -keystore "%java_home%/jre/lib/security/cacerts"
接下来,如果我们想知道前面的导入工作是否成功,可以通过下面的显示命令把所有的证书信息导出到一个txt里
keytool -list -v -keystore %java_home%/jre/lib/security/cacerts > t.txt
然后将%tomcat_home%/conf/server.xml的“port=8443”端口的那一段注释掉(如果需要也可在里面指定keystoreFile="conf/.keystore"):
|
去掉ssl的注释,并更改为如下配置
<Connector port="8443" keystorePass="changeit" keystoreFile="conf/.keystore" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" debug="0" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> |
请保持C:/Documents and Settings/Administrator/.keystore与%tomcat_home%/conf/.keystore一致
2、在WAS6上的配置:
keytool生成命令:
keytool -genkey -v -alias casserver -keypass 123456 -keystore casserver.jks -storepass 123456 -storetype jks -dname "cn=casserver,c=cn" -keyalg "RSA" (生成服务器端证书)
这里的123456是密钥的密码,可以随便指定,一旦指定,后面要使用的,请记住它.
keytool -genkey -v -alias casserver -keypass 123456 -keystore casserver.jks -storepass 123456 -storetype jks -dname "cn=casserver,c=cn" -keyalg "RSA" (生成服务器端证书)
这里的123456是密钥的密码,可以随便指定,一旦指定,后面要使用的,请记住它.
同时上面的"cn=casserver",这里的casserver请改成你自己的域名,比如localhost等.
keytool -export -v -alias casserver -file casserver.cert -rfc -keystore casserver.jks -storepass 123456 -storetype jks
(生成证书)
keytool -import -v -noprompt -alias casserver -file casserver.cert -keystore casclienttrusts.jks -storepass 123456 -storetype jks
keytool -import -v -noprompt -alias casserver -file casserver.cert -keystore casclienttrusts.jks -storepass 123456 -storetype jks
(生成客户端信任证书)
keytool -import -keystore %washome%/java/jre/lib/security/cacerts -alias casserver -file %washome%/java/bin/casserver.cert -storepass changeit
keytool -import -keystore %washome%/java/jre/lib/security/cacerts -alias casserver -file %washome%/java/bin/casserver.cert -storepass changeit
(将证书导入到jre中,以备casserver验证时使用)
接下来,打开was控制台,在控制台SSL里新建JSSE配置表,指定密钥文件${WAS_INSTALL_ROOT}/java/jre/bin/casserver.jks,信任文件
${WAS_INSTALL_ROOT}/java/jre/bin/casclienttrusts.jks.
${WAS_INSTALL_ROOT}/java/jre/bin/casclienttrusts.jks.
最后修改应用服务器的Web 容器传输链为新建的SSL配置表,重启动WAS.
二、服务器端设置:
下载cas server3.0x,发布cas.war文件。
注意:现在cas server最新版是3.1,它基于JDK1.5,如果你的was是6.0x就不能使用cas server3.1啦,而只能使用cas server3.0x。同时如果你的was是6.0.0那么你必须下载was的6.0.x补丁,因为6.0.0对标签的支持存在BUG,而我们的cas server3.0x里面却恰恰使用到了jstl和spring的标签,所以我们为was6.0.0打补丁,不然在cas验证的时候会报错。
三、客户端配置:
下载cas client for java 2.x,取出里面的casclient.jar放在你的web工程的WEB-INF/lib目录下,同时修改你的web.xml文件,添加一个为SSO所使用的filter,内容如下:
|
注: edu.yale.its.tp.cas.client.filter.serverName 是表示需要 redirect 的网址,如果有1个以上的网址, 则可以一直增加上去,注意 param-name 要不一样edu.yale.its.tp.cas.client.filter.loginUrl 是 redirect 的网址。
好了,接下来就可以启动工程测试一下啦。
上海锐道信息技术有限公司
高杰
本文详细介绍了如何在Tomcat和Websphere6上配置yule CAS单点登录(SSO),涉及SSL证书创建、重定向设置等关键步骤。
781





