Springboot配置https(证书是windows下使用keytool生成ssl)

JDK中keytool是一个证书管理工具,可以生成自签名证书。 就是自己生成的证书,并不是官方生成的证书。除非是很正式的项目,否则使用自己签发的证书即可,因为官方生成证书需要花钱。

  1. 生成证书

    win+r进入"运行界面",输入cmd进入命令行界面
    需要先配置好jdk环境变量才能使用
    输入:

    keytool -genkey -alias tomcat -keyalg RSA -keystore 目录/tomcat.keystore

    其中-genkey 指生成keystore ,-alias 指别名,-keyalg 指使用的加密算法,-keystore 后面跟上生成的keystore目录

    回车后会出现以下提示:

    输入密钥库口令:tomcat 再次输入新口令:tomcat 您的名字与姓氏是什么? [Unknown]:
    xxx.xxx.xxx.xxx 您的组织单位名称是什么? [Unknown]: cx 您的组织名称是什么? [Unknown]:
    cx 您所在的城市或区域名称是什么? [Unknown]: hb 您所在的省/市/自治区名称是什么? [Unknown]: hb
    该单位的双字母国家/地区代码是什么? [Unknown]: cn CN=tuhao, OU=tuhaojia, O=fnic,
    L=didu, ST=didu, C=cn是否正确? [否]: y

    输入 tomcat 的密钥口令
    (如果和密钥库口令相同, 按回车):

    这里大部分可以随意填写,但需要注意:
    一点是密钥口令要记住,后面配置服务器的时候要用上。
    展示如下在这里插入图片描述
    然后在对应的文件夹生成tomcat.keystore文件
    在这里插入图片描述
    生成 .keystore后可以用

    keytool -export -alias tomcat -keystore 目录/tomcat.keystore -storepass tomcat -rfc -file 目录/tomcat.cer

    生成一个cer证书,可以发送给客户端安装,安装在信任的证书中后再访问就不会出现“此网站的安全证书存在问题”的提示。
    在这里插入图片描述
    然后在对应的文件夹生成tomcat.cer文件

  2. 在Springboot中配置证书
    将tomcat.keystore拷贝到项目resources目录下
    配置application.yml

server:
  # 服务器的HTTP端口,默认为8080
  port: 8080
  ssl:
  	#文件所在位置
    key-store: classpath:tomcat.keystore
    #keystore的密码
    key-store-password: tomcat
    key-store-type: JKS
    key-alias: tomcat
  1. 服务启动报错can not load的异常
    问题分析
    到编译生成的target\class去找这个文件,发现确实没有这个文件,那么就是在编译的时候将这个文件排除了。
    解决方案
    maven-resources-plugin插件的时候:开了过滤器,在pom中添加配置:
 <build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>*.keystore</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>false</filtering>
            <includes>
                <include>*.keystore</include>
            </includes>
        </resource>
    </resources>
</build>

猜你喜欢

转载自blog.csdn.net/whatevery/article/details/121327542