CAS服务器配置.docx
- 文档编号:8519475
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:10
- 大小:416.09KB
CAS服务器配置.docx
《CAS服务器配置.docx》由会员分享,可在线阅读,更多相关《CAS服务器配置.docx(10页珍藏版)》请在冰豆网上搜索。
CAS服务器配置
一、搭建JavaWeb服务器环境
CATALINA_HOME=D:
\Java\apache-tomcat-6.0.14
安装完毕,启动Tomcat,在浏览器上测试http:
//localhost:
8080/
出现上述界面,表明系统成功搭建。
二、使用JavaKeytool工具为系统生成HTTPS证书,并为系统注册
1. 删除已有
C:
\ProgramFiles\Java\jdk1.6.0_10\bin>keytool-delete-aliastomcat(随意起的别名)-keystoreD:
/Java/jdk1.6.0_33/jre/lib/security/cacerts-storepasschangeit
2.生成密匙库
输入密钥密码和相应参数,(注意:
第一个参数CN要输入域名,其他参数就随便了),结果是在用户目录中创建了名为server.keystore的密钥文件。
C:
\ProgramFiles\Java\jdk1.6.0_10\bin>keytool-genkey-aliastomcat-keypasschangeit-keyalgRSA-keystoreserver.keystore(密钥文件名)
在当前目录下多出一个文件server.keystore
3. 导出数字证书
C:
\ProgramFiles\Java\jdk1.6.0_10\bin>keytool-export-aliastomcat-keypasschangeit-fileserver.crt-keystoreserver.keystore
输入keystore密码:
changeit
输入上一步中的密码,结果在当前目录生成server.crt密钥文件。
(注意:
这个文件是要导入客户端的JVM上的)
4.将数字认证导入jre可信任区
C:
\ProgramFiles\Java\jdk1.6.0_10\bin>keytool-import-aliastomcat-fileserver.crt-keypasschangeit-keystore D:
/Java/jdk1.6.0_33/jre/lib/security/cacerts
这里的jre地址和tomcat使用的jre必须一致
输入密码(注意:
这里的密码不是上面设定的密码,而是changeit),将创建cacerts文件。
5. 查看可信证书列表(检查证书是否加入成功)
C:
\ProgramFiles\Java\jdk1.6.0_10\bin>keytool-list-keystoreD:
\Java\jdk1.6.0_33/jre/lib/security/cacerts
6.命令解释(转)
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息例如:
"CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 显示密钥库中的证书信息 keytool-list-v-keystore 别名 -storepass....
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件 keytool-export-alias 别名 -file 文件名.crt
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool-delete-alias 别名 -keystoresage
-keypasswd 修改密钥库中指定条目口令 keytool-keypasswd-alias 别名 -keypass....-new....-storepass...-keystore 别名
-import 将已签名数字证书导入密钥库 keytool-import-alias 别名 -keystore 证书名-file 文件名(可以加.crt 后缀)
以上是服务器端导入证书,放在tomcat用的jre下的证书库中
三、配置Tomcat的HTTPS服务
在tomcat的server.xml中添加配置信息
port="8443"minSpareThreads="5"maxSpareThreads="75" enableLookups="true"disableUploadTimeout="true" acceptCount="100"maxThreads="200" scheme="https"secure="true"SSLEnabled="true" keystoreFile="C: /Users/shipengzhi/server.keystore"keystorePass="changeit" truststoreFile="D: /Java/jdk1.6.0_33/jre/lib/security/cacerts" clientAuth="false"sslProtocol="TLS"/> keystorePass="changeit"参数,即为上面几步中涉及到的密码,keystoreFile=".keystorePath",.keystorePath即为在第一步中生成的文件.keystore的全路径,如: C: /Users/shipengzhi/server.keystore。 绑定hosts 10.1.164.118 启动Tomcat,访问https: //localhost: 8443/,出现以下界面说明HTTPS配置生效: 四、构建CAS服务器和过滤器 1.部署JA-SIG(CAS)服务器 cas官方网站 http: //www.jasig.org/cas 下载最新的服务端 CASServer3.5.0Final 解压后将modules下面的cas-server-webapp-3.3.3.war改名为cas.war部署到web服务器,作为单点登录的服务器。 启动Tomcat,访问网址http: //localhost: 8080/cas/index.jsp或https: //localhost: 8443,出现以下画面: 输入用户名/密码: linly/linly(任意两个相同的字窜),点击“登录”,出现以下画面: 表示CAS服务器配置运行成功。 2.为HelloWorldExample程序配置CAS过滤器 访问http: //shipengzhi: 8080/examples/servlets/servlet/HelloWorldExample,出现以下界面说明应用正常启动: 编辑D: \Java\apache-tomcat-6.0.14\webapps\examples\WEB-INF下的web.xml文件,添加如下信息: --========================单点登录开始========================--> --用于单点退出,该过滤器用于实现单点登出功能,可选配置--> --该过滤器用于实现单点登出功能,可选配置。 --> --该过滤器负责用户的认证工作,必须启用它--> 8443/cas/login --这里的server是服务端的IP--> //localhost: 8080 --该过滤器负责对Ticket的校验工作,必须启用它--> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter 8443/cas //localhost: 8080 --========================单点登录结束========================--> 拷贝cas-client-core-3.2.1.jar,commons-logging-1.1.jar文件到目录D: \Java\apache-tomcat-6.0.14\webapps\examples\WEB-INF\lib下。 启动Tomcat。 测试使用浏览器登陆以下网址: http: //shipengzhi: 8080/examples/servlets/servlet/HelloWorldExample,页面将弹出以下认证框,点击“确定” 页面将重定向到JA-SIG的SSO登录认证页面 输入用户名=密码,如: linly/linly,则通过验证,进入应用的入口界面,如下: 细心的用户将发现,此时的URL不再是: http: //shipengzhi: 8080/examples/servlets/servlet/HelloWorldExample, URL的尾端带上了一个ticket参数: http: //linly: 8080/examples/servlets/servlet/HelloWorldExample? ticket=ST-2-qTcfDrdFb0bWndWgaqZD 到此,JA-SIG(CAS)服务器的初步SSO部署宣告成功。 异常Q&A 1.验证ticket时,抛出异常 avax.servlet.ServletException: .ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIXpathbuildingfailed: sun.security.provider.certpath.SunCertPathBuilderException: unabletofindvalidcertificationpathtorequestedtarget 解决办法: tomact使用的jvm的jre必须和数字认证导入jre可信任区时的jre一样,抛出这个异常就是因为不一样导致的。 2.如何将CAS和应用分布部署在不同的机器? 机器A: 部署CAS服务 机器B: 部署OA应用 机器C: 用户浏览器端 1.由机器A上生成.keystore的证书文件,证书颁发者是机器A的完全域名 2.机器A上用于部署CAS的Tomcat的server.xml文件中定义HTTPS的配置,指向.keystore文件证书 3.从.keystore中导出的凭证文件要copy到机器B上,并导入机器B的JRE环境的证书库中 4.机器B上部署OA的Tomcat必须指定运行在导入凭证JRE环境上,而不是JDK,这点常有人搞错。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAS 服务器 配置