且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

搭建Jasig CAS中间认证服务实现单点登录——搭建Tomcat并实现SSL安全连接

更新时间:2022-03-29 15:21:07

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dgd2010.blog.51cto.com/1539422/1167444

预期的工作任务: 实现CAS(CAS采用Jasig CAS)单点登录搭建,开发api以实现javaphp.net等单点登录接口;实现数据库、LDAP身份认证对接。

(一)平台(LinuxWindows都能实现):

1.Windows Server 2008 R2Windows 2000以上即可),用于承载Tomcat和其他开发环境,如数据库等(设置为服务器的IP172.16.201.207);

2.Linux(安装有Openssl,一般都安装),用于后期配置证书,如导出pem证书格式(设置为root@172.16.202.106,以后不再注释);

(二)先决条件:

使用的是当前官方发布的最新稳定版本

1.需要JDK(官方推荐,实际上搭建过程中没有用到)

http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-x64.exe

2.需要JREbin目录下有keytool工具,用于实现颁发证书)

http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jre-7u17-windows-x64.exe

下载JDKJRE需要注册Oracle账户

3.需要Tomcat

http://apache.dataguru.cn/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39-windows-x64.zip

4.需要CAS安装包,cas-server-3.4.10-release.zip这个包不是很好下载,可能是防火墙的原因。但是找到下载地址用下载工具能下载的到。

http://downloads.jasig.org/cas/cas-server-3.4.10-release.zip

5.部署指南(可选)

http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39-deployer.zip

(三)启动Tomcat前需要设置环境变量(参考但不按照Tomcat包中的指导文件(./RUNNING.txt)进行配置

###按照指导文件进行的操作

>set "CATALINA_HOME=C:\inetpub\apache-tomcat-7.0.39"

###不要执行下面一行,Tomcat包中的指导文件(./RUNNING.txt)有错误。

# set "CATALINA_BASE=C:\inetpub\apache-tomcat-7.0.39\conf"

>set "JRE_HOME=C:\Program Files\Java\jre7"

>set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_17"

###修正以后的操作

>cd C:\inetpub\apache-tomcat-7.0.39\bin

>set "CATALINA_HOME=C:\inetpub\apache-tomcat-7.0.39"

>set "JRE_HOME=C:\Program Files\Java\jre7"

>set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_17"

>catalina.bat run

现在Tomcat就可以运行了

(四)配置Tomcat使之能使用SSL实现加密的安全的连接

>cd C:\Program Files\Java\jre7\bin\

###密码是YourPassword

>keytool -genkey -alias cask -keyalg RSA -keystore c:\cas_key

###密码是YourPassword

>keytool -export -file c:\casrv.crt -alias cask -keystore c:\cas_key

###密码是changeit,此密码是Tomcat包中cacerts文件需要的默认密码

>keytool -import -keystore "C:\Program Files\Java\jre7\lib\security\cacerts" -file c:\casrv.crt -alias cask

根据命令行中给出的提示修正问题

###Caused by: java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR

###修改85行,参考注释,添加如下内容


  1. <Connector port="8443" protocol="HTTP/1.1" 
  2. SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" 
  3. keystoreFile="c:/cas_key" keystorePass="YourPassword" 
  4. SSLCertificateFile="c:/casrv.crt" SSLCertificateKeyFile="C:/cas_key.pem"
  5. /> 

### server.xml文件配置证书

### >”表示在Windows运行,“#”表示在Linux下运行

>keytool -importkeystore -srckeystore c:\cas_key -destkeystore c:\cas_key.p12 -deststoretype PKCS12

>pscp c:/cas_key.p12 root@172.16.202.106:/tmp

### TomcatAPR 模块需要用到.pem文件

#openssl pkcs12 -in cas_key.p12 -out cas_key.pem -nodes

>pscp root@172.16.202.106:/tmp/cas_key.pem c:/cas_key.pem

### 再次重新启动Tomcat,完成TomcatHTTPS配置

将cas-server-3.4.10-release.zip解压后得到的cas-server-3.4.10\modules\cas-server-webapp-3.4.10.war文件复制到C:\inetpub\apache-tomcat-7.0.39\webapps\cas.war

和更改Apache一样,每次更改目录和配置文件都需要重新启动Tomcat。

在浏览器中输入https://localhost:8443/cas即可访问CAS主页。

相关图片见附件1和附件2,

其他指导手册(CAS单点登录实例详细步骤.pdf)下载,见附件3.

后期会继续提供的CAS的相关开发文章。

 

本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/1167444