第一步
生成证书:
keytool -genkey -alias castest -keyalg RSA -keystore e:/mykey/testkey
使用java的keytool命令行生成证书
-alias 密钥的别名
-keyalg 密钥使用的加密算法,此处使用RSA
-keystore 密钥存储的位置,默认是存在用户主目录下,此处则指定存储位置
执行命令行会生成一个证书文件
执行过程需要注意,姓名和姓氏写localhost,到实际生产环境时写域名即可。
这里我的密码为:passwrod
导出证书:
keytool -export -file e:/mykey/small.crt -alias castest -keystore e:/mykey/testkey
注意这里我把导出的文件放在和之前的证书同一个位置,注意别名castest和证书的一致,后面的路径为之前生成的证书的位置
提示输入密码的时候输入之前设置的密码password
把证书导入到客户端JDK中:
keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file E:/mykey/small.crt -alias castest
这里要注意的地方:jkd的路径为jre的路径,不是tomcat的路径,cacerts这个名字最好不要改。别名同上,为castest.
注意地方:因为我的jdk是默认在C:\Program Files (x86)\Java\jre7\lib\security下面,
所以路径会有问题,解决办法就是cmd进入到这个目录之后在执行
keytool -import -keystore .\cacerts -file E:/mykey/small.crt -alias castest
如果出现这个错误:keytool错误: java.io.IOException: Keystore was tampered with, or password was incorrect
解决方法是,把lib\security下的cacerts文件删除掉,在执行,亲试可行哦。
配置服务端
下载CAS的服务端,解压,把解压后的文件中modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝的%TOMCAT_HOME%\webapps
下,并修改文件名为:cas.war
源码下载地址:https://github.com/Jasig/cas/releases
开启tomcat https的ssl协议通道
修改%TOMCAT_HOME%\conf\server.xml文件
去掉此文件83到93行之间的注释,修改为:
Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:/mykey/testkey" <!--在2.1中生成的证书的位置-->
keystorePass="password"/> <!--在2.1中设置的密码-->
以上配置完成访问http://localhost:8080/cas 就可以看到一个服务端的登录页面
这里默认输入localhost:8080/cas就行,但是也可以在host文件中配置一个虚拟的域名,暂时作为正式的域名。
C:\Windows\System32\drivers\etc\hosts文件中映射一个虚拟域名
这里我映射为www.cas.com,所以我访问www.cas.com:8080/cas就可以看到登录页面。
输入账号casuser和密码Mellon,登录成功。说明服务端的配置已经成功
以后大家记住cas的默认帐号casuser/Mellon
亲试可行哦,亲!