刚刚接触shiro-cas,小白一个。谨以此类博客,纪念曾经走过的路……
工具:Tomcat7、 cas-server-4.0.0、cas-client-4.0.0(可以去官网下载)
一、配置服务端数字证书
我们用windows做服务端需要配置,使https可以访问。
(使用cmd运行以下命令)
1.生成一个名为 castest的证书
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>keytool -genkey -alias castest -keyalg RSA -keystore F:/keys/castest</strong></span>
功能:创建一个名为castest的证书,并且把该证书放在名为castest.keystore的秘钥库中,若不存在,则创建。
--genkeypair:生成一对非对称密钥;
--alias:别名
--keyalg:指定加密算法,本例中采用的RSA加密
--keystore:密钥库的路径或名称,不指定则默认在计算机的用户目录生成一个“.keystore”文件
需要说明的是:
1.密码至少6位字符
2.“您的名字与姓氏”:输入的应该是跳转域名,而不是我们的姓名。
3.“您的名字与姓氏”必填,其余选填。
执行后,在指定路径(不指定则为用户目录)下生成了一个“castest.keystore”文件。
我们可以使用“keytool -list -keystore castest.keystore”查看该文件中的所有证书
2.导出证书
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>keytool -export -file F:/keys/castest.crt -alias castest -keystore F:/keys/castest</strong></span>
功能:将制定路径下的证书目录导出一个名为castest.crt的证书中
执行结束,制定路径下会出现castest.crt文件
3、将证书导入Java jre的可信区内。
首先,我们要找到java的jre的可信区。我的java是默认安装所以路径为:C:\Program Files\Java\jdk1.8.0_60\jre\lib\security。我们也可以使用相对路径:%java_home%/jre/lib/security
如果security中已经存在cacerts,需要先将其删除。
keytool -import -keystore "C:\Program Files\Java\jdk1.8.0_60\jre\lib\security\cacerts" -file F:/keys/castest.crt -alias castest
出现以上界面,则表示添加成功。
二、修改配置文件
1、我们把cas-server4.0解压,在modules目录下找到cas-server-webapp-4.0.0.war,将其复制到%TOMCAT_HOME%\webapps下并重命名为cas.war。启动Tomcat后,webapps下会自动解压cas.war文件
2、修改%TOMCAT_HOME%\conf\server.xml文件,添加https的Connector
添加如下代码:
<Connector SSLEnabled="true" clientAuth="false" keystoreFile="F:/keys/castest"
keystorePass="199312"
maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>
keystoreFile:为生成证书时的路径
keystorePass:为证书密码
port:为端口号
至此。配置结束。。
三、测试配置
访问:https://localhost:8443/
出现如下界面:
点高级--添加例外
即可访问https。访问https://localhost:8443/cas/login,出现如下界面
则证明,cas服务端部署成功。