CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置

CAS单点登录

概述

(1) CAS简介
(2) CAS官网

环境配置

  • 在同一个机器上配置三个虚拟机
  • windows7_32位
  • JDK 1.6.0_18
  • Tomcat 6.0.29
  • CAS-server-3.4.11
  • CAS-client-3.2.1


配置host

根据演示需求,用修改hosts 文件的方法添加域名
在文件 C:\Windows\System32\drivers\etc\hosts 文件中添加三条
127.0.0.1    demo.tch.com ##服务器,即名字与姓氏
127.0.0.1    app1.tch.com ##客户端,即本地服务工程名称
127.0.0.1    app2.tch.com ##客户端,即本地服务工程名称


说明:
(1)demo.tch.com:对应部署cas server的tomcat,这个虚拟域名还用于证书生成
(2)app1.tch.com:对应部署app1的tomcat
(3)app2.tch.com:对应部署app2的tomcat

配置JDK

JDK配置

安全证书配置

java keytool证书工具使用小结

(0)建立文件夹:D:\study\sso\tomcat-cas(将tomcat解压后改名)


CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置


(1)生成服务端密钥文件并生成证书

a.win+r ,打开 Tomcat的安装路径,复制并粘贴如下命令到控制台中,回车执行
keytool -genkey -alias casserver -keypass ssodemo -keyalg RSA -keysize 1024 -keypass 123456 -keystore ssodemo.keystore -storepass 123456 -validity 365

实现:
CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置

说明:

  • -keypass 123456 和 -storepass 123456 两个密码要一致,否则下面tomcat 配置https 访问失败
  • -keystore ssodemo.keystore 生成证书的名称
  • 名字与姓氏:与要访问的域名保持一致,通过在HOST中配置该域名,可通过域名直接访问服务器
  • 最后一步,输入y(YES)


命令执行后,查看文件夹,多出了一个证书文件

CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置

(2)导出证书:
复制并执行如下命令:
keytool -export -alias casserver -storepass 123456 -file ssodemo.cer -keystore ssodemo.keystore


控制台:


文件夹:
CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置


注意:
  • -storepass 123456 为上面生成证书时设置的密码
  • -file ssodemo.cer 导出的证书名称
  • 保存文件路径中不能包含空格,否则命令不识别
  • 命令输入时,单词之间以空格间隔,否则命令不识别


(3)客户端导入证书

keytool -import -trustcacerts -alias casserver -storepass 123456  -file ssodemo.cer -keystore cacerts


控制台

CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置

文件夹:

CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置


以上tools工具的使用:
客户端服务器端配置

CAS Server端配置

(1)配置HTTPS

打开 Tomcat 安装目录 conf\server.xml
找到并修改如下代码
    <!--
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
  keystoreFile="D:/study/sso/tomcat-cas/ssodemo.keystore"  
  keystorePass="123456"  
  URIEncoding="UTF-8"  		   
			   
               clientAuth="false" sslProtocol="TLS" />
    -->


说明:
  • keystoreFile 是创建证书的路径
  • keystorePass 是创建证书的密码
  • port一般为8443或443,最常用的是443端口(https默认端口),这样https方式访问的时候可以不加端口号(如:https://sso.demo.com/cas/login);keystoreFile为tomcat目录下的密钥文件;keystorePass为私钥密码;truststoreFile为生成的信任文件,如果此处不指定则默认为$JAVA_HOME/jre/lib/security/cacerts文件;其它属性默认即可


生成客户端密钥库文件
    单向认证的客户端配置只需生成客户端信任文件caserts即可。首先将服务端生成的证书文件(之前生成的casserver.cer文件)复制到$JAVA_HOME/jre/lib/security下,然后打开CMD窗口切换到$JAVA_HOME/jre/lib/security下并执行命令:

keytool -import -trustcacerts -alias casclient -storepass changeit -file ssodemo.cer -keystore cacerts


控制台:

CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置

文件夹:
CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置

说明:
(1)JDK JRE security  storepass 默认密码 changeit
(2)ssodemo.cer 文件为之前配置的文件,若执行命令时出现找不到文件的错误,仔细检查文件存放路径

配置HOST后

访问:
http://localhost:8081/cas/login
或通过域名访问
http://demo.tch.com:8081/cas/login

CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置


博文参考:
CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置
基于CAS实现单点登录(SSO):实例讲解

你可能感兴趣的:(SSO)