Spring Boot学习——http转https)
「证书生成 Spring Boot 项目配置」全流程全程使用 JDK 自带工具无需额外安装软件开发测试环境开箱即用。一、生成自签名 HTTPS 证书开发测试用JDK 自带keytool密钥管理工具直接在命令行执行命令即可生成。1. 执行生成命令打开 CMD / 终端进入你想存放证书的目录执行以下命令keytool -genkeypair -alias server -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore server.p12 -validity 3650参数说明-alias server证书别名后续 Spring Boot 配置需要对应-keyalg RSA使用 RSA 非对称加密算法-keysize 2048密钥长度 2048 位符合通用安全标准-storetype PKCS12密钥库格式跨平台通用Spring Boot 官方推荐-keystore server.p12生成的证书文件名生成后保存在当前目录-validity 3650证书有效期 3650 天10 年开发测试足够使用2. 按提示填写信息执行命令后会依次提示输入信息按实际情况填写即可核心注意第一项「名字与姓氏」输入密钥库密码自行设置例如123456后续配置必须用到再次输入密码确认名字与姓氏本地测试填localhost如果部署到服务器填你的域名或服务器 IP必须和访问地址一致否则浏览器会报证书不匹配组织单位名称随意填写例如dev组织名称随意填写例如lzgsmis所在城市随意填写所在省份随意填写国家 / 地区代码填CN确认信息输入y回车最后提示「输入密钥的密码」直接回车即可让密钥密码和密钥库密码保持一致执行完成后当前目录会生成server.p12证书文件。二、配置到 Spring Boot 项目1. 放入项目把生成的server.p12文件复制到项目的src/main/resources目录下。2. 修改 application.properties 配置添加以下 HTTPS 配置项properties# HTTPS 服务端口 server.port8443 # 开启 SSL server.ssl.enabledtrue # 密钥库文件路径 server.ssl.key-storeclasspath:server.p12 # 密钥库密码生成时设置的密码 server.ssl.key-store-password123456 # 密钥库格式 server.ssl.key-store-typePKCS12 # 证书别名和生成时 -alias 参数保持一致 server.ssl.key-aliasserver三、验证效果启动项目后访问https://localhost:8443即可通过 HTTPS 访问接口。自签名证书不受浏览器信任会提示「不安全」Self signed certificate这是正常现象开发测试环境可以直接点击「高级 → 继续访问」生产环境必须使用 CA 机构签发的正规 SSL 证书。