cas_ssl

第一步

生成证书:

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

亲试可行哦,亲!

相关推荐
阿维的博客日记2 个月前
jvm学习笔记-轻量级锁内存模型
jvm·cas·轻量级锁
Hello-Brand2 个月前
架构与思维:漫谈高并发业务的CAS及ABA
高并发·cas·aba
GGBondlctrl2 个月前
【JavaEE初阶】深入理解不同锁的意义,synchronized的加锁过程理解以及CAS的原子性实现(面试经典题);
java·开发语言·面试·cas·synchronized加锁·锁的策略
一只BI鱼4 个月前
CAS简单解析
java·cas·乐观锁
_whitepure5 个月前
CAS详解
cas·java多线程·unsafe·aba问题·cas原理
王小磊学代码6 个月前
每天一学(2)
线程池·cas·阻塞队列
他叫阿来7 个月前
CAS操作
cas·原子性·aba问题
慕木兮人可7 个月前
SpringBoot2.0.x旧版集成Swagger UI报错Unable to infer base url...解决办法
java·spring boot·cas·springsecurity·swagger-ui
Hello-Brand9 个月前
高并发下的数据一致性保障(图文全面总结)
分布式·高并发·分布式锁·cas·一致性·aba