这几天公司业务上需要使用到CAS单点登录,于是自己动手做了一个简易的小例子。
一、环境:
1.tomcat-7.0.70
2.jdk1.7.0_79
3.CAS Server版本 : 4.0.0(https://www.apereo.org/projects/cas/download-cas)4.CAS Client版本:3.3.3(http://developer.jasig.org/cas-clients/)
二、创建证书
这里使用的是本机上安装的JDK自带的keytool工具生成证书。
生成证书命令:keytool -genkey -alias ymkj -keyalg RSA -keystore d:/key/ymkjkey(先已手动创建了D盘下key文件夹)
三、导出证书
导出证书命令:D:\keys>keytool -export -file d:/key/ymkj.crt -alias ymkj -keystore d:/key/ymkjkey
四、为客户端JVM导入证书
命令:keytool -import -keystore C:\Java\jdk1.7.0_79\jre\lib\security\cacerts -file d:/key/ymkj.crt -alias ymkj
注意,因为通常情况下JDK是安装在C:\Program Files目录下,所以会出现这样的问题:
因此,故将C:\Program Files目录下的JAVA文件夹拷贝到C盘目录下,再更新环境变量JAVA_HOME、JRE_HOME为当前的路径。最后执行导入证书命令并信任这个认证(输入y)。
如果提示:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect,那么输入密码:changeit
这是因为JDK安装后会默认创建一个密钥库,密码为:changeit
五、应用证书到tomcat
打开tomcat目录的conf/server.xml文件,找到:
<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
修改为:
<Connector SSLEnabled="true" clientAuth="false"
keystoreFile="D:/key/ymkjkey"
keystorePass="123456" <!--创建证书时输入的密码-->
maxThreads&#