SpringBoot实战之SSL配置详解
作者:toto1297488504 发布时间:2022-08-03 19:38:17
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,它是一个证书管理工具,可以用来生成自签名的证书。
使用CMD进入C:\Program Files\Java\jdk1.8.0_111\bin所在的目录,然后输入一下内容:
keytool -genkey -alias tomcat
接着进入当前用户目录下,发现已经生成了一个.keystore文件,这就是我们要用的证书文件,如图所示。
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
接着再浏览器上访问:https://localhost:8443.会出现相应页面
来源:https://blog.csdn.net/tototuzuoquan/article/details/78172659
猜你喜欢
- Java中的StringUtils引入及使用pom.xml中引入依赖<!-- https://mvnrepository.com/ar
- 创建自定义启动器0、项目总览1、创建项目,引入依赖创建项目 spring-boot-jdbc-starter,引入依赖,pom文件如下:&l
- 1 原码、反码、补码原码:将十进制转化为二进制即原码;反码:正数的反码与原码相同,负数的反码(除却最高位的符号位不变)与原码相反
- 2017年一直以来在公司负责爬虫项目相关工程,主要业务有预定、库存、在开发中也遇到很多问题,随手记录一下,后续会持续更新。chrome、fi
- 一、MyBatis背景介绍MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码
- 一般表单数据分为两类<form method="post" action="${pageContext.
- 1.概述Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。Spring MVC的特
- java 实现MD5加密算法的简单实例实现代码:import java.security.NoSuchAlgorithmException;
- 0.关于AOP面向切面编程(也叫面向方面编程):Aspect Oriented Programming(AOP),是软件开发中的一个热点,也
- 1. 前言Spring的核心技术IOC(Intorol of Converse控制反转)的实现途径是DI(dependency Insert
- 本文实例为大家分享了java利用udp实现发送数据的具体代码,供大家参考,具体内容如下1.udp的特点数据以包的形式发送数据udp是面向无连
- 1. 将对象转换为JSON字符串,返回值为一个JSON字符串public static String toJson(Object value
- java web 实现分页功能,分享给大家,具体如下:使用框架:ssm数据库:oracle话说 oracle 的分页查询比 mysql 复杂
- 本文研究的主要是Java面试题中的一个比较常见的题目,判断及防止SQL注入的问题,具体介绍如下。SQL注入是目前黑客最常用的攻击手段,它的原
- 一、项目简述功能包括:用户分为宠物,医生,管理员,宠物主人可进行注册选择医生挂号,选择日期,选择号源,医生可进行宠物接诊,管理员可对宠物,医
- 实现多线程的方式:实现多线程的方式有多种,这里只列举两种常用的,而第一种继承Thread的方式无法实现多窗口卖票。一,继承Thread方式:
- 本文实例讲述了基于C#实现XML文件读取工具类。分享给大家供大家参考。具体如下:这是我去年写的一个XML文件读取工具类,现在做了一些调整 基
- 近日工程中,逐渐感觉到原来复制粘贴代码的笨重,突然想起以前有人和我说起过Git和SVN之类的版本管理工具。由于平时主要是写Java代码,所以
- 下面是我自己收集整理的2017年Java岗位的面试题,可以用它来好好准备面试。一、Java基础1. String类为什么是final的。2.
- 前言:这段时间由于学校实行静态化管理,寝室门和校门都是用了人脸识别的装置,每次经过都会激发我的好奇心,也想自己搞一个人脸识别玩玩,随着开始查