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搜索查询、基于条件的查询和从方法名派生的查…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
