前言

  由于个人的兴趣和为了加薪,在这里研究下cas单点登录,同时也记录下自己探索的过程,希望也能帮到有同样兴趣的小伙伴

环境

CAS-5.1.3

tomcat8.5

jdk8

centos6.5

1、生成服务器的密匙文件tomcat.keystore

keytool -genkey -alias tomcat -keyalg RSA -keysize  -validity  -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 -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:69
SHA1: E7:CE:2B:F9:10:53:74:1B:6C:68:F7:15:5D:3E:DC:ED:83:B6:28:4A
SHA256: 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的配置(一)的更多相关文章

  1. SSO之CAS单点登录详细搭建教程

    本教程是我个人编写,花费几个小时的时间,给需要学习的人员学习使用,希望能帮助到你们. [环境说明]:本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7 ...

  2. 【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境

    目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...

  3. CAS单点登录配置[1]:准备工作

    关于CAS是什么这里就不在赘述,网友将它比喻成旅游景点的套票,买了一个套票就可以观看所有景点,不需要一个景点买一次票...我们重点介绍CAS单点登录的配置. 工具/原料 1.配置好JDK环境,否则不方 ...

  4. CAS单点登录(SSO)服务端的部署和配置---连接MySQL进行身份认证

    一.修改系统host,加入 127.0.0.1 server.test.com127.0.0.1 client1.test.com127.0.0.1 client2.test.com 二.安装grad ...

  5. 【CAS单点登录视频教程】 第03集 -- 配置 tomcat的 ssl

    目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...

  6. CAS单点登录相关配置

    一.CAS单点登录服务端的部署 部署 把CAS所对应的war包部署到tomcat中 4.品优购资源V1.3\配套软件\配套软件\CAS\cas.war 配置 更改tomcat的端口号 <Conn ...

  7. Liferay7.0与cas单点登录配置

    1.简介     Liferay7.0支持多种登录方式,包括:常规的.opensso.cas.ntlm.ldap.openid.Facebook.Google等. 其中, (1) 常规:则是默认Lif ...

  8. SSO之CAS单点登录实例演示

    本文目录: 一.概述 二.演示环境 三.JDK安装配置 四.安全证书配置 五.部署CAS-Server相关的Tomcat 六.部署CAS-Client相关的Tomcat 七. 测试验证SSO 一.概述 ...

  9. CAS单点登录之mysql数据库用户验证及常见问题

    前面已经介绍了CAS服务器的搭建,详情见:搭建CAS单点登录服务器.然而前面只是简单地介绍了服务器的搭建,其验证方式是原始的配置文件的方式,这显然不能满足日常的需求.下面介绍下通过mysql数据库认证 ...

随机推荐

  1. 一种递推组合数前缀和的Trick

    记录一下一种推组合数前缀和的方法 Trick 设\(\sum_{i = 0}^m C_n^i = S(n, m)\) \(S\)是可以递推的 \(S(n, m + 1) = S(n, m) + C_{ ...

  2. Dynamics 365使用代码发送邮件给指定邮箱地址

    摘要: 微软动态CRM专家罗勇 ,回复303或者20190213可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当然,首先要 ...

  3. 可视化设计,类Excel的快速开发平台

    活字格Web应用生成器,是可视化设计,类Excel的快速开发平台,接下来给大家介绍如何体现这些特点. 一.可视化设计 网页系统的开发,包含UI设计+代码编写的工作,最终形成网页系统.这要求系统开发人员 ...

  4. springboot 学习之路 8 (整合websocket(1))

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  5. ORACLE当中自定义函数性优化浅析

    为什么函数影响性能 在SQL语句中,如果不合理的使用函数(Function)就会严重影响性能,其实这里想说的是PL/SQL中的自定义函数,反而对于一些内置函数而言,影响性能的可能性较小.那么为什么SQ ...

  6. c/c++ 多线程 绕过mutex的保护

    多线程 绕过mutex的保护 mutex,能够解决线程安全的问题,但它不是万能的.下面的例子虽然使用了mutex,但是恶意注入了一个外部函数,导致把被mutex保护的双向链表,让一个外部的指针指向了, ...

  7. Linux AIDE(文件完整性检测)

    一.AIDE的概念 AIDE:Advanced Intrusion Detection Environment,是一款入侵检测工具,主要用途是检查文档的完整性.AIDE在本地构造了一个基准的数据库,一 ...

  8. ubuntu16.04系统深度学习开发环境、常用软件环境(如vscode、wine QQ、 360wifi驱动(第三代暂无))搭建相关资料

    事后补充比较全面的(找对资料真的省一半功夫):https://www.jianshu.com/p/5b708817f5d8?from=groupmessage Ubuntu16.04 + 1080Ti ...

  9. LeetCode算法题-Number Complement(Java实现-五种解法)

    这是悦乐书的第240次更新,第253篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第107题(顺位题号是476).给定正整数,输出其补码数.补充策略是翻转其二进制表示的位 ...

  10. 在Linux系统中同步更新我们的Github博客

    原理介绍 类似于版本管理,我们把我们的hexo博客文件系统在Github上建立一个分支,通过管理分支提交最新的博客文件系统,保证我们博客框架的更新.然后我们基于最新的博客框架,撰写文章,进行Githu ...