欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot实战之SSL配置详解

程序员文章站 2024-02-20 12:43:22
1、ssl介绍和说明 ssl的配置也是我们在实际应用中经常遇到的场景 ssl(secure sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一...

1、ssl介绍和说明

ssl的配置也是我们在实际应用中经常遇到的场景

ssl(secure sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一种协议,ssl在网络传输层对网络连接进行加密。ssl协议位于tcp/ip协议与各种应用层协议之间,为数据通信提供安全支持。ssl协议可以分为两层:ssl记录协议(ssl record protocal),它建立在可靠的传输协议(如tcp)之上,为高层协议提供数据封装、压缩、加密等基础功能的支持。ssl握手协议(ssl handshake protocal),它建立在ssl记录协议之上。用于在实际数据传输开始前,通信双方进行身份认证、协商加密算法、交换加密密钥等。

而在基于b/s的web应用中,是通过https来实现ssl的。https是以安全为目标的http通道,简单讲是http的安全版,即在http下加入ssl层,https的安全基础是ssl。

2、生成证书

使用ssl首先需要一个证书,这个证书既可以是自签名的,也可以是从ssl授权中心获得的。下面演示自授权证书的生成。

每一个jdk或jre里面都有一个工具叫keytool,它是一个证书管理工具,可以用来生成自签名的证书。

SpringBoot实战之SSL配置详解

SpringBoot实战之SSL配置详解

使用cmd进入c:\program files\java\jdk1.8.0_111\bin所在的目录,然后输入一下内容:

keytool -genkey -alias tomcat

SpringBoot实战之SSL配置详解

接着进入当前用户目录下,发现已经生成了一个.keystore文件,这就是我们要用的证书文件,如图所示。

SpringBoot实战之SSL配置详解

2.1 spring boot配置ssl

添加一个index.html到src/main/resources/static下,作为测试

将.keystore文件复制到项目的根目录(即pom.xml所在的位置),然后在application.properties中做ssl的配置:

#server.port = 8443
#server.ssl.key-store = .keystore
#server.ssl.key-store-password= 111111
#server.ssl.keystoretype= jks
#server.ssl.keyalias: tomcat

接着再浏览器*问:.会出现相应页面

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接