sso-cas全攻略(java版)------

 

为了登陆的安全性,cas默认是用https协议进行用户名与密码的传递。但是tomcat在配置完成后默认并没有开启https端口(8443)。

这个时候就需要手工配置。当然,新版本的cas并没有强制使用https协议进行用户名与密码的传递,只是在某些老版本中有这方面的

限制,写在了源代码中。但是为了安全起见,为tomcat配置ssl还是十分必要的。你总不想被大家都能用的抓包工具看到http协议post

过去的用户名与密码明文吧?

这里我们对tomcat6.0.6进行ssl配置。

系统默认已经安装jdk1.5或以上版本,并且java_home等环境已经配置停当。

其他的tomcat版本在以下有所说明,这里按下不表。

首先上两个参考文档地址:

Keytool使用指南:
http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/keytool.html
Tomcat-ssl配置指南:
http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html

英文牛的童子童鞋可以直接看之。

配置步骤如下(windows xp操作系统,unix系统见上面发的链接):

首先我们在F盘下建立目录F:/yaowei/ca,

cmd进入此目录

执行命令

keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600

然后系统会提示一系列输入,这里需要特别注意的是第一个,您的名字与姓氏是什么?

这里一定要输入localhost或者你本机的ip地址(测试用)

或者你这个主机的域名,如果有的话。

需要声明的是以下几个命令执行完成后,证书是导入到了本机的jre,

但是由于这个证书是自己给自己颁发的,不受浏览器所认可的信任根证书颁发机构所信任,因而会出安全警告。

在测试时我们可以忽略这些。但如果是商用的话,就需要花钱申请证书了。

好了,回到正题,名字与姓氏输入完成后,

以下的所有提示输入都可以随便填,这里我们都填了cn。

最后会提示:

CN=localhost, OU=cn, O=cn, L=cn, ST=cn, C=cn 正确吗?输入y即可。

完成后我们会发现目录下生成了server.keystore文件。

然后执行

keytool -export -trustcacerts -alias tomcat -file server.cer -keystore  server.keystore -storepass changeit

如果没有异常,会提示:

保存在文件中的认证<server.cer>

目录下生成了server.cer文件

然后再执行

keytool -import -trustcacerts -alias tomcat -file server.cer -keystore  %java_home%/jre/lib/security/cacerts -storepass changeit

注意将%java_home%替换为本机路径

系统会提示一堆,最会一句话是:

信任这个认证,输入y即可。

下面是执行的命令及其截图:

 

完了以后打开tomcat目录下的conf/server.xml文件,

找到

Connector port="8443"这段,去掉注释,

将其修改为

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="F:/yaowei/ca/server.keystore"    
               keystorePass="changeit" />

注意keystoreFile的路径,

保存后重启tomcat,

浏览器地址栏输入

https://localhost:8443/

会弹出安全提示,选是即可,

就可以看到tomcat的欢迎页面了。

OK,tomcat ssl配置完成。

 

注意,tomcat不同版本配置是不同的:
Tomcat4.1.34配置:
xml 代码
  
   <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"  
           port="8443" enableLookups="true" scheme="https" secure="true"  
           acceptCount="100"  
           useURIValidationHack="false" disableUploadTimeout="true"  
           clientAuth="false" sslProtocol="TLS"    
           keystoreFile="server.keystore"    
           keystorePass="changeit"/>  
Tomcat5.5.9配置:

 
xml 代码
  
<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="server.keystore"    
           keystorePass="changeit"/>  
Tomcat5.5.20配置(此配置同样可用于Tomcat6.0):
 
xml 代码
  
<Connector protocol="org.apache.coyote.http11.Http11Protocol"    
                     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="server.keystore"    
           keystorePass="changeit"/>  
Tomcat6.0.10配置:

xml 代码
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"  
           port="8443" minSpareThreads="5" maxSpareThreads="75"  
           enableLookups="true" disableUploadTimeout="true"    
           acceptCount="100"  maxThreads="200"  
           scheme="https" secure="true" SSLEnabled="true"  
           clientAuth="false" sslProtocol="TLS"  
           keystoreFile="D:/tools/apache-tomcat-6.0.10/server.keystore"    
           keystorePass="changeit"/>  
tomcat6支持3种,请参考以下文档:
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

 

 

weblogic配置一般来说都是商用的,需要申请证书,相对来说要复杂些

这里就不细讲了,有需要的可以给我留言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值