Windows本地制作java证书(与jeecgboot配置本地证书ssl问题)

1:JDK生成自签证书SSL,首先以管理员身份运行CMD窗口,执行命令

bash 复制代码
keytool -genkey -alias testhttps -keyalg RSA -keysize 2048 -validity 36500 -keystore  "F:/ssl/testhttps.keystore"
bash 复制代码
F:\ssl>keytool -genkey -alias testhttps -keyalg RSA -keysize 2048 -validity 36500 -keystore  "F:/ssl/testhttps.keystore"
输入密钥库口令:

再次输入新口令:

您的名字与姓氏是什么?
  [Unknown]:  hdx
您的组织单位名称是什么?
  [Unknown]:  hdx
您的组织名称是什么?
  [Unknown]:  hdx
您所在的城市或区域名称是什么?
  [Unknown]:  gz
您所在的省/市/自治区名称是什么?
  [Unknown]:  gd
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=hdx, OU=hdx, O=hdx, L=gz, ST=gd, C=CN是否正确?
  [否]:  是

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

再次输入新口令:


F:\ssl>

2:在相应的目录生成testhttps.keystore文件

3:springboot 中项目配置证书,将 testhttps.keystore 文件放入 /resource 目录下

4:application.yml 配置文件中添加ssl 相关配置

yml 复制代码
server:
  port: 8989
  servlet:
    context-path: /test
  ssl:
    #类路径下的自签证书
    key-store: classpath:testhttps.keystore
    # 证书别名
    key-alias: testhttps
    #证书密码
    key-store-password: 123456
    # 证书类型
    key-store-type: JKS
    # 开启证书验证
    enabled: true

5:访问路径https://localhost:8989/test

注意:jeecgboot项目的ssl证书testhttps.keystore 放在resource目录下不生效,放在resource下,启动报如下错误,特别坑,跟着源码根本找不出来,也不提示找不到testhttps.keystore文件

解决方法,将testhttps.keystore放在和执行jar报同目录,类似项目根目录下,根据具体情况定,修改yml配置如下,如果放的证书位置不对,会有提示

yml 复制代码
server:
  port: 8989
  servlet:
    context-path: /test
  ssl:
    #jeecgboot项目自签证书不要加classpath
    key-store: testhttps.keystore
    # 证书别名
    key-alias: testhttps
    #证书密码
    key-store-password: 123456
    # 证书类型
    key-store-type: JKS
    # 开启证书验证
    enabled: true
相关推荐
阿白的白日梦1 小时前
winget基础管理---更新/修改源为国内源
windows
SimonKing2 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean2 小时前
Jackson View Extension Spring Boot Starter
java·后端
Seven973 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55112 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河13 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程15 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅17 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者18 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq