shiro-cas------本地配置cas为HTTPS登录

2023-05-16

上一篇:shiro-cas------搭建基础cas服务器

解决上图所提示的问题(在本地),需要配置https请求。

首先给这个服务起个域名:shiro.sso.com

配置到本地的host文件,这里我通过工具SwitchHosts来设置。

查询别名是shiro.sso.com的证书

keytool -list -keystore "%JAVA_HOME%\jre\lib\security\cacerts" | findstr/i shiro.sso.com

如果之前有相同别名的证书删除

keytool -delete -alias  shiro.sso.com -keystore  %JAVA_HOME%\jre\lib\security\cacerts

生成密钥

参数说明

  • genkey 生成密钥
  • keyalg 指定密钥算法,这时指定RSA,
  • keysize 指定密钥长度,默认是1024位,这里指定2048,长一点,比较难破解
  • siglag 指定数字签名算法,这里指定为SHA1withRSA算法
  • validity 指定证书有效期,这里指定36500天,也就是100年
  • alias 指定别名,这里是shiro.sso.com
  • keystore 指定密钥库存储位置,这里存在D:\shiro-cas-ssl
  • dname 指定用户信息
keytool -genkey -alias shiro.sso.com -keyalg RSA -keystore casServer.keystore

便于记忆这里密码设置为123456

 

 

生成证书

参数说明

  • -alias指定别名为shiro.sso.com;
  • -storepass指定私钥为123456;
  • -file指定导出证书的文件名为casServer.crt;
  • -keystore指定之前生成的密钥文件的文件名。
    注意:-alias和-storepass必须为生成tomcatekeystore密钥文件时所指定的别名和密码,否则证书导出失败
keytool -export -alias shiro.sso.com -keystore casServer.keystore -file casServer.crt -storepass 123456

 

查看证书文件

keytool -printcert -file casServer.crt

 

导入cacerts证书库

需要输入保护密码,默认的是changeit,输入即可,而不是生成证书时自己设置的

keytool -import -keystore  %JAVA_HOME%\jre\lib\security\cacerts  -file D:\shiro-cas-ssl\casServer.crt -alias shiro.sso.com

 

检查是否导入成功,有如下图输出代表成功

keytool -list -keystore "%JAVA_HOME%\jre\lib\security\cacerts" | findstr/i shiro.sso.com

 

配置项目

把tomcat.keystore拷贝到项目的etc/cas下

 

什么是 WAR Overlay?

Overlay 技术可以把多个项目 war 合并成为一个项目,如果项目存在同名文件,那么主项目中的文件将覆盖掉其他项目的同名文件。

复制原有的application.properties到新创建的application.properties,修改如下:

##SSL配置
server.ssl.enabled=true
server.ssl.key-store=file:/etc/cas/casServer.keystore
server.ssl.key-store-password=123456
server.ssl.key-password=changeit
server.ssl.keyAlias=shiro.sso.com

配置toncat9开启https协议(其余参数代码中设置)

<Connector port="8443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               keystoreFile="D:\shiro-cas-ssl\casServer.keystore" keystorePass="123456"
               clientAuth="false" sslProtocol="TLS" />


启动项目,发现我们的更改已经编译

浏览器访问:https://shiro.sso.com:8443/login

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shiro-cas------本地配置cas为HTTPS登录 的相关文章

随机推荐