介绍
SSL协议位于TCP/IP协议和应用协议之间,为数据通信安全提供支持。SSL协议分为两层:记录协议(Record Protocol)和握手协议(Handshake Protocol)。
步骤
在Spring Boot中使用SSL的步骤:
1. 生成签名证书
签名证书可以通过第三方,如SSL证书授权中心获得,或者自签名获取。以自签名证书为例,使用java提供的证书管理工具keytool生产自签名证书。在命令行依次输入相关数据:
keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: Cruise
您的组织单位名称是什么?
[Unknown]: Cruise
您的组织名称是什么?
[Unknown]: Cruise
您所在的城市或区域名称是什么?
[Unknown]: Beijing
您所在的省/市/自治区名称是什么?
[Unknown]: Beijing
该单位的双字母国家/地区代码是什么?
[Unknown]: 86
CN="Cruise ", OU=Cruise, O=Cruise, L=Beijing, ST=Beijing, C=86是否正确?
[否]: y
输入 tomcat 的密钥口令
(如果和密钥库口令相同, 按回车):
在我的目录/Uses/apple/下生成文件keystore.p12,该文件就是自签名证书。
2. Spring Boot 配置SSL
将第一步生成的keystore.p12自签名文件拷贝到项目根目录下,再在application.properties中添加下列属性值对。
server.port=8443
server.ssl.enabled=true
server.ssl.key-alias=tomcat
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=111111
server.ssl.key-password=111111
server.ssl.key-store-type=JKS
3. 启动spring boot application
启动后显示:
Tomcat started on port(s): 8443 (https) with context path ''
再在浏览器地址栏中输入:
https://localhost:8443
如果浏览器能够正确显示,则SSL配置使用成功。