共计 1067 个字符,预计需要花费 3 分钟才能阅读完成。
前言
Spring Boot 本身是一个 Java 应用程序框架,它可以内嵌一个嵌入式的 Web 服务器(如 Tomcat、Jetty 等),用于处理客户端请求。它默认使用的是 Java Keystore(JKS)格式的证书文件,用于配置内嵌的 Web 服务器的 SSL/TLS 加密。
JKS 是一种密钥库格式,用于在 Java 平台上存储密钥和证书,它可以包含一个或多个密钥对以及与这些密钥对关联的数字证书链。
1. 生成证书
生成证书需要用到 keytool
命令,需要先安装 java。
为了偷懒,这里选择使用一条命令生成,而不是交互式生成证书文件。
keytool -genkey -alias mycert -keyalg RSA -keystore ./server.jks -keysize 2048 -validity 3650 -dname "CN=unipower, OU=unipower" -storepass 123456 -keypass 123456 -ext san=dns:localhost,ip:127.0.0.1
# 交互式生成
# keytool -genkey -alias mycert -keyalg RSA -keystore ./server.keystore
-ext 指添加扩展信息,san 是 Subject Alternative Name,即使用者可选名称。
如需 jks 包含多个证书和密钥。
keytool -genkey -alias mycert2 -keyalg RSA -keystore ./server.jks -keysize 2048 -validity 3650 -dname "CN=unipower2, OU=unipower2" -storepass 123456 -keypass 123456 -ext san=dns:localhost,ip:127.0.0.1
查看证书运行如下命令,输入密码即可。
keytool -list -v -keystore ./server.jks -alias mycert -storepass 123456
2. 配置https
将生成的 server.jks
文件放在 springboot 项目的 resouces
的 cert
目录下。
然后在配置文件中配置如下内容:
server:
ssl:
enabled: true
protocol: TLS
key-store: classpath:cert/server.jks
# 需要和生成证书时的别名一致
key-alias: mycert
# 生成证书时指定KeyStore的密码 -storepass
key-store-password: 123456
key-store-type: JKS
提醒:本文发布于478天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完