SSL的配置是实际应用中常遇到的业务场景。其协议可分为两层:
SSL记录协议:建立在可靠的传输协议之上,为高层协议提供数据封装、压缩、加密等基本功能支持。
SSL握手协议:其建立在SSL记录协议之上,用于在实际数据传输开始前通信双方身份认证、协商加密算法、交换加密秘钥等。
基于B/S的web应用通过HTTPS实现SSL,即在HTTP下加入SSL层,HTTPS的安全基础是SSL。因为Spring Boot用的是内置Tomcat,因而配置SSL时需要进行如下操作:
1、生成证书
使用SSL首先需要一个证书,可以通过自签名或者SSL证书授权中心获得。本文示范以自授权证书为例:
jdk中有一个工具叫keytool,它就是一个证书管理工具可以用来生产自签名的证书,如下:
输入命令生成秘钥:keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -keystore mykeystore.jks
在当前目录下会新建mykeystore.jks文件
2、Spring Boot配置SSL
将上述文件置于项目根路径下,同时进行如下配置:
启动并提交访问请求:
通过上述访问发现,如果通过http访问会提示访问需要组合TLS。所以直接通过这种方式访问存在着极差的用户体验。解决这个问题就需要做下面的第三步操作。
3、http转向https
实际很多时候输入http会自动转向为https(比如百度试试),要Spring Boot中要实现这个功能需要配置WebServerFactory
标签:Web,证书,访问,Spring,配置,Boot,SSL From: https://www.cnblogs.com/ilovebath/p/18106060