SpringBoot 启用 Https,生成 jks 自签证书
使用 Java 提供的工具生成 jks 自签证书
keytool 是 Java Development Kit (JDK) 中的一个工具,用于管理公钥和私钥对以及相关的证书。以下命令用于生成一个密钥对并将其存储在密钥库中:
keytool -genkeypair -alias www.example.com -keyalg RSA -keypass 123456 -storepass 123456 -keysize 2048 -validity 3650 -keystore www.example.com.jks
其中部分参数解释如下:
-genkeypair告诉keytool生成一个新的密钥对。-alias为生成的密钥对指定一个别名,可填写网站域名。-keyalg指定生成密钥对时使用的算法,这里是RSA。-keypass设置私钥的密码。-storepass设置密钥库的密码。-keysize指定RSA密钥对的大小,这里是2048位。这是一个常见的选择,因为它提供了足够的安全性,同时也在性能上是可接受的。-validity设置证书的有效期,这里是3650天,即大约10年。-keystore指定密钥库文件的名称和位置。
可选操作:将 jks 密钥库转为 pkcs12 类型。
keytool -importkeystore -srckeystore www.example.com.jks -destkeystore www.example.com.pkcs12 -deststoretype pkcs12
配置 SpringBoot
将生成的 jks 或者 pkcs12 文件放到项目的 src/main/resources 目录下,在项目的 application.yml 配置文件中添加以下内容:
# 开启 SSL
server.ssl.key-store: classpath:www.example.com.jks
server.ssl.key-store-password: 123456
server.ssl.keyStoreType: JKS
server.ssl.keyAlias: www.example.com
如果是 pkcs12 密钥库:
# 开启 SSL
server.ssl.key-store: classpath:www.example.com.pkcs12
server.ssl.key-store-password: 123456
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: www.example.com
这时候启动 springboot 如果读取密钥库报错,大概率是 maven 对密钥文件进行了重新编码导致的,需要将密钥文件排除。在 pom.xml 文件中添加以下代码:
<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><nonFilteredFileExtensions><nonFilteredFileExtension>jks</nonFilteredFileExtension></nonFilteredFileExtensions></configuration></plugin>
</plugins>
如果是 pkcs12 密钥库:
<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><nonFilteredFileExtensions><nonFilteredFileExtension>pkcs12</nonFilteredFileExtension></nonFilteredFileExtensions></configuration></plugin>
</plugins>
相关文章:
SpringBoot 启用 Https,生成 jks 自签证书
使用 Java 提供的工具生成 jks 自签证书 keytool 是 Java Development Kit (JDK) 中的一个工具,用于管理公钥和私钥对以及相关的证书。以下命令用于生成一个密钥对并将其存储在密钥库中: keytool -genkeypair -alias www.example.com -keyalg RSA -key…...
微服务day04(下) -- SpringAMQP
SpringAMQP SpringAMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。 SpringAmqp的官方地址:Spring AMQP SpringAMQP提供了三个功能: 自动声明队列、交换机及其绑定关系 基于注解的…...
RK3568平台开发系列讲解(pinctrl篇)pinctrl 子系统函数操作集
🚀返回专栏总目录 文章目录 一、pinctrl_ops二、pinctrl_ops三、pinconf_ops沉淀、分享、成长,让自己和他人都能有所收获!😄 在 pinctrl_desc 结构体中总共有三个函数操作集, 具体内容如下所示: const struct pinctrl_ops *pctlops; // 引脚控制操作函数指针 const...
音频转换器哪个好?5个角度详细测评~
我们常常会用到音频转换器,比如因为平台和设备对某些格式的不兼容,需要进行格式转换;比如有些音频文件可能过大,需要转换为更高效;压缩格式以节省存储空间或加快传输速度;比如调整音频文件的比特率、采样率…...
功率电感的工艺结构原理及选型参数总结
🏡《总目录》 目录 1,概述2,工作原理3,结构特点3.1,主要构成材料3.2,绕组形式3.3,封装与骨架4,工艺流程4.1,选择磁芯4.2,绕制线圈4.3,焊接线头4.4,测试5,选型参数5.1...
大数据扩展
层面控制点四级三级二级 安全 物理 环境 基础 设施 位置 应保证承载大数据存储、处理和分析的设备机房位于中国境内。应保证承载大数据存储、处理和分析的设备机房位于中国境内。应保证承载大数据存储、处理和分析的设备机房位于中国境内。安全 通信 网络网络 架构b)应保证大数…...
关于数组初始化问题
真的烦人,今天在做一道题的时候,发现一个问题,数组的初始化能不能这样, int N0;scanf("%d",&N);int a[N]{0};int N0;scanf("%d",&N);int a[N]; 结果是不能的,不知道为什么,反…...
webRtc麦克风摄像头检测
最近在做webRtc相关音视频项目,碰到了很多用户不知道自己设备是否被支持发起webRtc,所以特意总结相关实用方法; HTML /*id方便一会把媒体流赋值过去, autoPlay: 自动播放 */ <audio id"devDetectionMicroRef" autoPlay><…...
3703. 括号的匹配 北京师范大学考研上机真题 栈的思想
在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。 包括有大括号 {},中括号 [],小括号 (),尖括号 <> 等。 对于每一对括号,必须先左边括号,然后右边括号;如果有多个…...
SpringCloud中的@EnableDiscoceryClient和@EnableFeignClients注解的作用解析、RPC远程过程调用
目录 EnableDiscoveryClient 服务发现的核心概念 服务注册中心 EnableDiscoveryClient注解的作用 服务心跳健康检查 使用示例 EnableFeignClients Feign简介 EnableFeignClients注解的作用 RPC(Remote Procedure Call) 参考链接 Spring Cloud…...
关于安卓文件复制的杂谈(一)文件复制,文件夹复制
背景 一些很基础的东西,往往用起来,找起来,乱七八糟,所以特此记录 环境 win10,jdk8,as4 备注 不考虑安卓沙箱机制,这里讲解的是思路,示例中,是以应用内部目录进行测试 开发 把一个文件&a…...
Lucene查询语法,适用于 ELk Kibana 查询
Lucene查询语法,适用于 ELk Kibana 查询 Elasticsearch 构建在 Lucene 之上,过滤器语法和 Lucene 相同。本语法可用于 Kibana 界面的检索和 Grafana 看板对接 ES 的检索规则。 Kibana 上的检索语法Grafana 上的检索语法 全文搜索 在搜索栏输入login&…...
蓝桥杯2023年第十四届省赛真题-阶乘求和
一、题目 【问题描述】 令 S 1 ! 2 ! 3 ! . . . 202320232023 ! S 1! 2! 3! ... 202320232023!S1!2!3!...202320232023!,求 S SS 的末尾 9 位数字。 提示:答案首位不为 0。 【答案提交】 这是一道结果填空的题,你只需要算出结果后…...
多租户平台前端存储结构的选择
下图来源于cookie、localStorage 和 sessionStorage的区别及应用实例 既然localstorage无有效期,关闭浏览器还存在,那么用来存储用户的身份信息并不是太合适,先看一下B站中localstorage都存在了啥,原来把我搜索的记录都存在了下来…...
C++11 新特性:常量表达式 constexpr(下)
接上篇文章,继续说说常量表达式 constexpr 在模板编程中的使用场景。 constexpr 用于模板编程 在模板编程中,constexpr 的应用非常广泛,主要是因为它能够在编译时进行计算,这对于模板元编程、编译时断言、模板特化选择等场合尤为…...
大数据开发--02.环境准备
一.准备三台linux虚拟机 1.分别取名node1,node2,node3 2.配置静态ip 这里以node1为例,配置静态ip地址,其他node2.node3一样 配置完成之后别忘记 systemctl restart network 3.在各自的/etc/hosts文件中编辑三个Ip地址 三台都要配置, 4.然…...
选择word中的表格VBA
打开开发工具 选择Visual Basic插入代码 Sub 选择word中的表格() Dim t As Table an MsgBox("即将选择选区内所有表格,若无选区,则选择全文表格。", vbYesNo, "提示") If an - 6 Then Exit Sub Set rg IIf(Selection.Type wdSel…...
开放签开源电子签章白皮书-简版
开放签开源电子签章白皮书-简版 一、摘要: 开放签电子签章团队源自于电子合同SaaS公司,立志于通过开源、开放的模式,结合团队十多年的行业经验,将电子签章产品更简单、更低门槛的推广到各行各业中。让电子签章应用更简单&#x…...
uniapp、vue2.6、H5,利用腾讯TRTC,快速跑通1v1视频功能
多人视频聊天室搭建,官网已有相关demo和案例,需要快速搭建多人聊天室直接进入以下网站: 实时音视频 Web & H5 (Vue2/Vue3)-视频通话(含 UI)-文档中心-腾讯云说明:https://cloud.tencent.com/document/…...
Spring Data访问Elasticsearch----查询方法
Spring Data访问Elasticsearch----查询方法 一、查询lookup策略1.1 声明的查询 二、创建查询三、方法返回类型四、使用Query注解 一、查询lookup策略 Elasticsearch模块支持所有基本的查询构建功能,如字符串查询、native搜索查询、基于条件的查询和从方法名派生的查…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
