CAS5.x利用jdk自带的工具自签SSL证书配置https访问

环境

  • cas5.x
  • tomcat8.x
  • jdk8
  • window

步骤

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

keytool -genkey -alias caskey -keyalg RSA -keysize 2048 -validity 36500 -keystore D:\keys\caskey.keystore

注意:您的名字与姓氏cas.app.com是CAS服务器使用的域名,不是随便乱定的
参数说明

  • genkey 生成密钥
  • keyalg 指定密钥算法,这时指定RSA,
  • keysize 指定密钥长度,默认是1024位,这里指定2048,长一点,比较难破解,
  • validity 指定证书有效期,这里指定36500天
  • alias 指定别名,这里是caskey
  • keystore 指定密钥库存储位置,这里存在D:\keys\目录下
    在这里插入图片描述

2、导出证书

进入到D:\keys目录下

keytool -export -alias caskey -storepass 123456 -file caskey.cer -keystore caskey.keystore

然后发现keys目录下多了一个caskey.cer的文件,表示导出证书成功

参数说明

  • -alias指定别名为caskey
  • -storepass指定私钥为123456
  • -file指定导出证书的文件名为caskey.cer
  • -keystore指定之前生成的密钥文件的文件名

注意:-alias和-storepass必须为生成tomcatekeystore密钥文件时所指定的别名和密码,否则证书导出失败

3、导入证书导入到jdk信任库

keytool -import -alias caskey -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file D:\keys\caskey.cer -trustcacerts

注意:

  1. 原来的%JAVA_HOME%/jre/lib/security/cacerts文件要先删掉,否则会报出java.io.IOException: Keystore was tampered with, or password was incorrect错误。
  2. 如linux系统-keystore后的路径不需要加双引号

在这里插入图片描述
4、服务端tomcat配置

打开%TOMCAT_HOME%/conf/server.xml,增加

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

port一般为8443或443,最常用的是443端口(https默认端口),这样https方式访问的时候可以不加端口号,keystoreFile为tomcat目录下的密钥文件,keystorePass为私钥密码

5、在C:\Windows\System32\drivers\etc\hosts文件中增加下面映射

127.0.0.1 cas.app.com

6、在你项目的application.properties中添加/修改设置

server.name=https://cas.app.com:8443
server.ssl.key-store=file:D:/keys/caskey.keystore
server.ssl.key-store-password=123456
server.ssl.key-password=123456

CAS服务器的搭建可参考 CAS5.x服务器定制化(Gradle-overlay方式)

7. 启动服务器
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/HAIYUANBOY/article/details/87967966