cas导入证书使用https访问
Posted dousnl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cas导入证书使用https访问相关的知识,希望对你有一定的参考价值。
1、生成服务器端秘钥库
为了方便找到证书存放文件,先在D盘里建立了一个keystore的目录。
只要安装了jdk,配置了环境变量即可使用下面命令来生成服务器端的秘钥库,
输入命令:
keytool -genkeypair -alias "cjTomcat" -keyalg "RSA" -keystore "D:keystore omcat.keystore"
命令输入回车后,会要去输入口令,我这里设置的口令是hellocj
如图:
再次输入口令,回车之后需要填写一系列信息,这里面比较重要的是第一项,即“名字和姓氏”,这里其实不是你的名字和姓氏,而是你将来要使用https访问的服务器的域名(当然了,使用写死的IP地址也是可以的),我这里测试使用的是本机,所以用127.0.0.1
,其他各项其实都可以不填,直接回车
如图:
一路回车之后,询问是否正确,输入y然后回车,此时会要求设置密码
(刚才输入的口令是秘钥库的口令,而cjTomcat这个账号对应的密码还没设置,这里会要去设置cjTomcat的密码)
如图:
因为不想设置过多密码,这里直接回车,让账号cjTomcat的密码和秘钥库的密码相同
回车后
如图:
到D:keystore这个目录下查看,发现多了一个文件
如图:
这个文件就是秘钥库,里面就存放了用户cjTomcat这个账号的密码。
2、在Tomcat中导入该秘钥库
2.1、修改server.xml配置文件
找到AprLifecycleListener 这个监听类的配置,将SSLEngine修改为on
如图:
<Listenerclass Name="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
将AJP/1.3协议关闭掉(也就是直接注释掉)
如图:
修改web监听端口的相关配置项,主要修改如下:
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
SSLEnabled="true" maxThreads="150"
scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\keystore\tomcat.keystore" keystorePass="hellocj" />
如图:
说明: 其实https访问的话,默认端口是443,然而修改成其他端口号也是可以的,这里修改为了8090
注意:上面的keystorePass所需要填写的是你刚才设置的秘钥库的密码,例如我之前设置的是hellocj,所以这里也是填写hellocj。如果填错会报错:
java.io.IOException:Keystore was tampered with, or password was incorrect
3、将cas-server.war包部署到tomcat中
Cas.war包有很多版本,任意版本都行,这里有本例中用到的4.1.3这个版本的war包的下载地址:http://download.csdn.net/detail/pucao_cug/9800117
将cas-server.war包拷贝到webapps目录下
如图:
启动tomcat
如图:
4、在浏览器里实验cas是否部署成功
在浏览器里输入地址:https://127.0.0.1:8090/cas-server
发现浏览器提示该站点是不被站点的原因是,没有把我们要访问的这个站点添加到浏览器信任的站点中(https访问就是这样)。 不要担心,在本例中继续访问即可
如图:
继续访问
如图:
要求输入账号和密码
如图:
Cas 默认的登录账号是casuser密码是Mellon
输入账号和密码后就登录成功了
如图:
说明:登录页面都是可以自己定制的,后续再讲
5、编辑用户
可以配置了让cas去读取数据库中的用户,这个后续再讲,这里先简单说在xml里配置的方法,找到cas-serverWEB-INF目录下的deployerConfigContext.xml文件,直接修改AcceptUsersAuthenticationHandler这个bean的配置即可
如图:
以上是关于cas导入证书使用https访问的主要内容,如果未能解决你的问题,请参考以下文章