您的位置:首页 > 理论基础 > 计算机网络

cas 部署https服务端和客户端http

2016-08-18 11:15 316 查看
服务端:Windows Server 2008 + JDK1.6 + Tomcat6.0

客户端:Windows XP/WIN7 + JDK1.6 + Tomcat6.0

  配置说明

一、     生成服务端密钥文件

登录服务器打开一个CMD窗口(开始菜单 -> 运行输入cmd后回车)并切换到tomcat安装目录下(如:c:\tomcat-cas),执行如下命令:
keytool -genkey -alias casserver -keypass 123456 -keyalg RSA -keystore casserver.keystore -validity 365






执行后,可以看到tomcat安装目录下生成了一个casserver.keystore文件。如下图:






说明:-alias指定别名为casserver;-keyalg指定RSA算法;-keypass指定私钥密码;-keystore指定密钥文件名称为casserver.keystore;-validity指定有效期为365天。另外提示的输入keystore密码应与-keypass指定的相同;您的名字与姓氏是CAS服务器使用的域名(不能是IP,也不能是localhost),其它项随意填。
注意:服务器上如果有多个JDK,请确认环境变量中的JDK路径为tomcat所使用的JDK,如果不在环境变量中,也可切换到指定JDK的bin目录下执行命令;提示的输入keystore密码应与-keypass必须与指定的相同,否则后面tomcat启动会报IO异常(Cannot
recover key)。

二、     生成服务端证书

根据以上生成的服务端的密钥文件可以导出服务端证书,执行以下命令:
keytool -export -alias casserver -storepass 123456 -file casserver.cer -keystore casserver.keystore






执行后,可以看到tomcat安装目录下生成了一个casserver.cer文件。如下图:






说明:-alias指定别名为casserver;-storepass指定私钥为demosso;-file指定导出证书的文件名为casserver.cer;-keystore指定之前生成的密钥文件的文件名。
注意:-alias和-storepass必须为生成casserver.keystore密钥文件时所指定的别名和密码,否则证书导出失败,报如下错误:






三、     导入证书文件到cacerts 密钥库文件

导入以上生成的服务端的证书文件到一个cacerts密钥库文件,执行以下命令:
keytool -import -trustcacerts -alias casserver -storepass 123456 -file casserver.cer –keystore  cacerts






执行后,可以看到tomcat安装目录下生成了一个cacerts文件。如下图:






四、     服务端Tomcat配置

在制作完成密钥文件、证书文件、密钥库文件后即可进行服务端Tomcat的配置。打开$CATALINA_HOME/conf/server.xml文件,注释掉如下代码段:

<Connector port="80"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
并取消注释<Connectorport="8443" protocol="HTTP/1.1" SSLEnabled="true"…/>代码段,修改后如下:






说明:port一般为8443或443,最常用的是443端口(https默认端口),这样https方式访问的时候可以不加端口号(如:https://sso.demo.com/cas/login);keystoreFile为tomcat目录下的密钥文件;keystorePass为私钥密码;truststoreFile为生成的信任文件,如果此处不指定则默认为$JAVA_HOME/jre/lib/security/cacerts文件;其它属性默认即可。

五、     生成客户端密钥库文件

单向认证的客户端配置只需生成客户端信任文件caserts即可。首先将服务端生成的证书文件(之前生成的casserver.cer文件)复制到$JAVA_HOME/jre/lib/security下,然后打开CMD窗口切换到$JAVA_HOME/jre/lib/security下并执行命令:
keytool -import -trustcacerts -alias casclient -storepass 123456 -file casserver.cer -keystore cacerts






执行后,可以看到$JAVA_HOME/jre/lib/security目录下生成了一个cacerts文件。如下图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: