Central Authentication Service(CAS)之二(server)

服务端和客户端为了节省资源,可以配置在同一台机器上,但为了便于区分,我们可以想像他们是配置在不同的机器上的,而且把它们的配置步骤完全分开。先从服务端的配置说起:

 

1.       服务端装好了JDK,假设路径在D:/sso/apps/jdk150_06 下,JAVA_HOME用该值设置好;

2.       Tomcat的安装唯一注意的就是JRE选择D:/sso/apps/jdk150_06/jre

3.       keytool生成证书时,computer name为必填,其余随意。 然后导出到server.crt,最后将存在server.crt里面的证书导入到 ../jre/lib/security/cacerts. 这时cacerts就可以为Tomcat所用了。保存好server.crt供客户端导入。详细如下:

D:/sso/apps/jdk150_06/bin>keytool -genkey -alias tomcat -keypass changeit -keyalg RSA
输入keystore密码:  changeit
您的名字与姓氏是什么?
  [Unknown]:  yejia
您的组织单位名称是什么?
  [Unknown]:  hp
您的组织名称是什么?
  [Unknown]:  GDCC
您所在的城市或区域名称是什么?
  [Unknown]:  ShangHai
您所在的州或省份名称是什么?
  [Unknown]:  SH
该单位的两字母国家代码是什么
  [Unknown]:  cn
CN=yejia, OU=hp, O=GDCC, L=ShangHai, ST=SH, C=cn 正确
吗?
  [否]:  y


D:/sso/apps/jdk150_06/bin>keytool -export -alias tomcat -keypass changeit -file server.crt
输入keystore密码:  changeit
保存在文件中的认证 <server.crt>

D:/sso/apps/jdk150_06/bin>keytool -import -file server.crt -keypass changeit -keystore ../jre/lib/security/cacerts
输入keystore密码:  changeit
Owner: CN=yejia, OU=hp, O=GDCC, L=ShangHai, ST=SH, C=cn
发照者: CN=yejia, OU=hp, O=GDCC, L=ShangHai, ST=SH,C=cn
序号: 4aaf8e42
有效期间: Tue Sep 15 20:53:22 GMT+08:00 2009 至: Mon Dec 14 20:53:22 GMT+08:00 2009
认证指纹:
         MD5:  CF:BB:4C:6B:76:44:C6:41:C4:74:86:F5:06:D7:FB:86
         SHA1: D3:ED

4.       Andreas Sterbenz有一篇博客,是导入或测试证书是否导入成功的一种很优雅的做法。

地址:http://blogs.sun.com/andreas/entry/no_more_unable_to_find

务必用上面blog提供的InstallCert.java将证书成功导入到%JAVA_HOME%/jre/lib/security/cacerts,所以前面的环境变量JAVA_HOME务必先设置好了。出现类似于以下结果,才说明证书导入成功了:

% java InstallCert ecc.fedora.redhat.com
Loading KeyStore jssecacerts...
Opening connection to ecc.fedora.redhat.com:443...
Starting SSL handshake...

No errors, certificate is already trusted

Server sent 2 certificate(s):

 1 Subject CN=ecc.fedora.redhat.com, O=example.com, C=US
   Issuer  CN=Certificate Shack, O=example.com, C=US
   sha1    2e 7f 76 9b 52 91 09 2e 5d 8f 6b 61 39 2d 5e 06 e4 d8 e9 c7
   md5     dd d1 a8 03 d7 6c 4b 11 a7 3d 74 28 89 d0 67 54

 2 Subject CN=Certificate Shack, O=example.com, C=US
   Issuer  CN=Certificate Shack, O=example.com, C=US
   sha1    fb 58 a7 03 c4 4e 3b 0e e3 2c 40 2f 87 64 13 4d df e1 a1 a6
   md5     72 a0 95 43 7e 41 88 18 ae 2f 6d 98 01 2c 89 68

Enter certificate to add to trusted keystore or 'q' to quit: [1]
q
KeyStore not changed

 

5.       修改Tomcat的配置文件server.xml,开通端口8443https协议。

<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->

<Connector port="8443" maxHttpHeaderSize="8192"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS"

keystoreFile="C:/Documents and Settings/yejia/.keystore"

keystorePass="changeit"

truststoreFile=" D:/sso/apps/jdk150_06 /jre/lib/security/cacerts" />

 

6.       cas-server-3.3.2/modules目录下的cas-server-webapp-3.3.2.war重命名为cas.war,然后copy and pastetomcatwebapps下面,启动Tomcat会自动发布。然后在IE输入https://yejia:8443/cas/login 就可以验证是否发布成功了,输入相同的用户名和密码(cas/cas)就会返回成功的提示页面。要修改页面的显示,到Tomcatwebapps下面,cas/WEB-INF/view/jsp/default/ui下面的jsp页面去修改。

7.       很显然我们使用CAS统一认证,用其自带的默认用户名密码机制是行不通的,一般的做法是把所有用户信息放在LDAP服务器上,CAS通过配置LDAP来获取并验证用用户。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值