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

亲试可行哦,亲!

相关推荐
code2cat2 天前
Java进阶篇之AtomicReferenceFieldUpdater:用不可变快照替换整份状态
java·开发语言·cas
code2cat3 天前
Java进阶篇之AtomicLongFieldUpdater:把累计额度留在对象字段中
java·cas·并发编程
写后端的胖头鱼7 天前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
code2cat8 天前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
code2cat9 天前
Java进阶篇之AtomicStampedReference:引用回到原值,版本戳仍能记住变化
java·cas·并发编程·aba
Thinker QAQ15 天前
并发编程(六):Atomic 的实现——从 Runtime 到 CPU
java·go·cas·并发编程·atomic·cpython
Mr. zhihao1 个月前
彻底搞懂 LongAdder:解决 AtomicLong 高并发 CPU 空转难题(原理+案例+场景对比)
并发·cas
无小道1 个月前
C/C++——atomic小记
c++·cas·无锁
rebibabo3 个月前
Java高并发底层原理(六)—— 多核 CPU 如何保持缓存一致
java·缓存·cas·缓存一致性·cache line·longadder·mesi协议
倒流时光三十年3 个月前
AtomicBoolean + CAS 机制 关于 线程池任务丢弃策略优化
java·线程池·cas·atomicboolean