1. 下载 cas server 源码
https://github.com/Jasig/cas/releases
我下载的是 4.0.1。你也可以直接checkout
cas client : http://downloads.jasig.org/cas-clients/
版本是 3.3.3
2. 将下载的 cas-4.0.1.zip 解压, 在根目录 执行
mvn package install -Dmaven.test.skip=true
执行完成后,可将 cas-server-webapp\target\cas.war 部署到tomcat
3. 生成证书
参考: http://kai2008.iteye.com/blog/1134238
生成服务器端证书
为客户端生成证书
keytool -genkey -v -alias myKey -keyalg RSA -storetype PKCS12 -keystore d:/my1.p12 -dname "cn=localhost,ou=cas,o=cas,c=CN" -storepass 123456 -keypass 123456 -validity 3650
让服务器信任客户端证书
keytool -export -alias myKey -keystore d:/my1.p12 -storetype PKCS12 -rfc -file d:/my1.cer
将客户端证书导入到服务器的证书库
keytool -import -v -file d:/my1.cer -keystore d:/tomcat1.keystore -storepass 123456
让客户端信任服务器证书
keytool -keystore d:/tomcat1.keystore -export -alias tomcat1 -file d:/tomcat1.cer
在浏览器中导入服务器和客户端证书。
双击 tomcat1.cer 即可导入服务器证书。按照提示安装证书,将证书填入到“受信任的根证书颁发机构”。
双击 my1.p12 即可导入服务器证书。按照提示安装证书,将证书填入到“个人”。
注意,cn要设置为服务器地址,如 localhost,方便调试,否则后面cas server 回调 cas client 会出错:
java.security.cert.CertificateException: No name matching localhost found
为客户端的JVM导入密钥
keytool -import -file d:/tomcat1.cer -alias tomcat1 -keystore "%java_home%\jre\lib\security\cacerts"
查看证书
keytool -list -v -keystore "%java_home%\jre\lib\security\cacerts" -alias localhost
修改 tomcat conf server.xml :
<Connector SSLEnabled="true" clientauth="false" keystoreFile="conf/tomcat1.keystore" keystorePass="123456" maxThreads="150"
port="8443" protocol="HTTP/1.1" scheme=&#