cas单点登录-https的配置(一)
前言
由于个人的兴趣和为了加薪,在这里研究下cas单点登录,同时也记录下自己探索的过程,希望也能帮到有同样兴趣的小伙伴
环境
CAS-5.1.3
tomcat8.5
jdk8
centos6.5
1、生成服务器的密匙文件tomcat.keystore
keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -validity 36500 -keystore /usr/local/certificate/tomcat.keystore
参数说明
- -genkey 生成密钥
- -keyalg 指定密钥算法,这时指定RSA,
- -keysize 指定密钥长度,默认是1024位,这里指定2048,长一点,比较难破解,
- -validity 指定证书有效期,这里指定36500天,我想我的应用用不到那么长时间
- -alias 指定别名,这里是tomcat
- -keystore 指定密钥库存储位置,这里存在/usr/local/certificate/目录下
注意:您的名字与姓氏www.jacky.sso.com是CAS服务器使用的域名,不是随便乱定的,其他的随意
2、导出证书
[root@jacky certificate]# ls tomcat.keystore [root@jacky certificate]# keytool -export -alias tomcat -storepass 123456 -file tomcat.cer -keystore tomcat.keystore 存储在文件 <tomcat.cer> 中的证书 [root@jacky certificate]# ls tomcat.cer tomcat.keystore
然后发现certificate目录下多了一个tomcat.cer的文件,表示导出证书成功
参数说明
- -alias指定别名为tomcat;
- -storepass指定私钥为123456;
- -file指定导出证书的文件名为tomcat.cer;
- -keystore指定之前生成的密钥文件的文件名。
注意:-alias和-storepass必须为生成tomcatekeystore密钥文件时所指定的别名和密码,否则证书导出失败
3、导入证书导入到jdk信任库
[root@jacky security]# keytool -import -alias tomcat -keystore $JAVA_HOME/jre/lib/security/cacerts -file /usr/local/certificate/tomcat.cer -trustcacerts 输入密钥库口令: 再次输入新口令: 所有者: CN=www.jacky.sso.com, OU=jacky, O=jacky, L=GuangZhou, ST=GuangDong, C=Zh 发布者: CN=www.jacky.sso.com, OU=jacky, O=jacky, L=GuangZhou, ST=GuangDong, C=Zh 序列号: f7508f7 有效期开始日期: Tue Nov 07 07:00:15 CST 2017, 截止日期: Thu Oct 14 07:00:15 CST 2117 证书指纹:MD5: BC:F8:ED:14:B5:64:31:65:BF:E2:FC:78:81:C1:1A:69SHA1: E7:CE:2B:F9:10:53:74:1B:6C:68:F7:15:5D:3E:DC:ED:83:B6:28:4ASHA256: B3:DD:F6:B2:0F:75:53:FD:1A:8D:69:2A:F6:2A:BC:18:A8:4A:20:62:1F:1F:23:D6:A0:70:AE:0A:56:3D:D2:3A签名算法名称: SHA256withRSA版本: 3扩展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: A2 D1 05 CF 7D F5 3A 6A 7D BD 2C DD EF 9F A6 9D ......:j..,..... 0010: 09 CC D8 63 ...c ] ]是否信任此证书? [否]: y 证书已添加到密钥库中 [root@jacky security]#
注意:原来的$JAVA_HOME/jre/lib/security/cacerts文件要先删掉,否则会报出java.io.IOException: Keystore was tampered with, or password was incorrect错误
4、服务端tomcat配置
打开$CATALINA_HOME/conf/server.xml,增加
<Connector protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/certificate/tomcat.keystore" keystorePass="123456" port="8443" />
port一般为8443或443,最常用的是443端口(https默认端口),
这样https方式访问的时候可以不加端口号(如:https://jacky.sso/cas/login);
keystoreFile为tomcat目录下的密钥文件;
keystorePass为私钥密码;truststoreFile为生成的信任文件,
5、生成客户端密钥库文件
单向认证的客户端配置只需生成客户端信任文件caserts即可。
首先将服务端生成的证书文件(之前生成的casserver.cer文件)复制到$JAVA_HOME/jre/lib/security下,
然后打开CMD窗口切换到$JAVA_HOME/jre/lib/security下并执行命令:
keytool -import -trustcacerts -alias tomcat -storepass 123456 -file tomcat.cer -keystore cacerts
命令执行成功后JDK目录/jre/lib/security下多出cacerts文件。
6、在hosts文件中增加下面映射
192.168.6.128 www.jacky.sso.com
7、验证https配置
说明配置成功
8、总结
1、讲解了利用jdk自带的工具生成证书
2、讲解了配置tomcat配置https的方法
cas单点登录-https的配置(一)相关推荐
- CAS单点登录(五)——Service配置及管理
在上一节我们讲述了CAS中关于自定义认证登录策略,对CAS中关于自定义登录配置的方案,校验策略有了一定的了解,如果忘记了可以去复习一下------CAS单点登录(四)--自定义认证登录策略.这节本来该 ...
- cas 单点登录 http 方式配置实现
前言: 单点登录指的是在系统的集群中,登录其中一个子系统就可以无需再次登录访问其他的子系统或者主系统,目前比较流行的单点登录的解决方案就是使用 cas的方式 准备: 1.下载一个 cas-server ...
- SSO之CAS单点登录详细搭建
2019独角兽企业重金招聘Python工程师标准>>> SSO之CAS单点登录详细搭建 : 环境说明: 同一个机器上环境如下: 操作系统:windows7 64位 JDK版本:1.7 ...
- CAS单点登录__me(SQL)
由于在内网使用所以去掉了SSL,直接通过数据库验证实现了单点登录. 参考: http://wenku.baidu.com/link?url=SXz2R0lc7byvd5Ncdg3bqwrW11YU62 ...
- CAS单点登录(八)——多属性返回
在前面我们讲解了在CAS中关于如何自定义验证码以及自定义错误信息的配置,对于CAS的自定义有了更进一步的了解,如果忘记了,可以去复习一下CAS单点登录(七)--自定义验证码以及自定义错误信息. 今天我 ...
- Cas单点登录的服务器端和客户端的配置
同事参考网上资料总结出的Cas单点登录的文档,很有学习价值哦 Cas服务器端和客户端的配置 服务器端的配置: 1. 所需的环境: · Tomcat7.2 · JDK6 · CAS Service 版本 ...
- CAS单点登录原理解析及相关配置
1.基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中 ...
- CAS单点登录-配置中心(三)
CAS单点登录-配置中心(三) 本章计划及内容 计划: 微服务概念 配置中心充当角色 搭建配置中心 cas连接配置中心 内容: 采用 spring cloud Dalston SR3搭建配置中心 采用 ...
- CAS单点登录-配置数据库认证方式
接下来,说一下配置数据库认证单点登录 如果你之前的单点登录搭成功了,之后就简单多了,只需要添加一些配置和jar包即可.若未成功,请参考CAS单点登录入门配置 步骤: 1.引入相关jar包 2.创建数据 ...
最新文章
- Dubbo:Spring Cloud 服务调用的新选择
- mysql索引 钱缀_mysql字符串前缀索引
- js window.open()打开的页面关闭后刷新父页面
- Docker镜像大小
- PHP笔记-文件上传例子
- RT-Thread的线程(任务)处理【RT-Thread学习笔记 2】
- MakerDAO 通过首个实体融资执行提案
- git-bisect last updated in 2.19.1【转】
- mxnet入门--第4篇
- Node.js 在安装模块的时候报错,缺少python环境,56.ERR! configure error gyp ERR! stack Error: Can't find Python execut
- Excel 2010 VBA 入门 058 定时运行程序
- 网络文件存储系统(二)minio分布式文件系统实战
- 俄罗斯方块 UWP 版
- Android 根据屏幕尺寸适配控件大小(按比例缩放)
- ApacheCN 翻译活动进度公告 2019.4.7
- 基于c语言矩阵数组透视变换,一种图像透视变换方法与流程
- 考研总结--北邮网研院上岸
- PMP考试重点总结一——十五矩阵
- 手机控制电脑执行脚本
- 深圳社保转移(跨省)杭州
热门文章
- 九度笔记之 1209最小邮票数
- plsql 常用函数
- GARFIELD@01-25-2005
- Html5不允许修改但允许赋值,JavaScript | 引用类型变量的赋值问题
- python画动态玫瑰花图片大全_【python】trutle绘制送给女神的玫瑰花图
- mysql增删改查不区分大小写吗_MySQL的增删改查语句以及数据库设计的三大范式...
- VScode编辑器设置中文界面教程
- C语言常见基础错误大全总结
- vue delete删除json数组_Vue.set 和 Vue.delete
- cocos creator 判断双击_Creator | 编辑器中可操作顶点的多边形遮罩