百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

如何在Spring Boot应用程序上启用HTTPS?

ztj100 2025-01-17 14:38 16 浏览 0 评论

HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击。

自签名证书

其实可以使用位于JDK bin文件夹下的Keytool生成证书。

例如,C:\ Program Files \ Java \ jdk1.8.0_161 \ bin。可以使用两个自签名证书,如下所示。

  1. 通过自己的Java应用程序可以轻松访问JKS(Java密钥库)。JKS仅限于Java,不能从Java外部访问。
  2. PKCS12:另一方面,公钥加密标准是一种与语言无关的方法,用于存储加密的私钥和证书,并且存储时间已经足够长,基本上所有的地方都能支持。

如何生成 自签名证书

在Windows的搜索字段中键入cmd以找到命令提示符,然后以“以管理员身份运行”右键单击。使用如下的keytool命令。您可以提及所需的证书名称,如下所示。

C:\ Program Files \ Java \ jdk1.8.0_161 \ bin>

keytool -genkeypair -alias selfsigned_localhost_sslserver -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore ebininfosoft-ssl-key.p12 -validity 3650

自签名证书受密码保护。输入密码和其他详细信息,如以下屏幕截图所示。

完成上述步骤后,便会创建PKS密钥并将其存储在JDK Bin文件夹下。

将SSL应用于Spring Boot应用程序

  1. 从JDK bin文件夹复制ebininfosoft-ssl-key并将其放在Spring Boot Application的src / main / resources下。
  2. 如下所示,将SSL密钥信息添加到application.properties中。
#SSL Key Info
security.require-ssl=true
server.ssl.key-store-password=India@123
server.ssl.key-store=src/main/resources/ebininfosoft-ssl-key.p12
server.ssl.key-store-type=PKCS12

POM文件

以下是我用来指定Spring Boot依赖项的POM.xml。

<dependencies>
2
   <dependency>
3
      <groupId>org.springframework.boot</groupId>
4
      <artifactId>spring-boot-starter-web</artifactId>
5
   </dependency>
6
   <dependency>
7
      <groupId>org.springframework.boot</groupId>
8
      <artifactId>spring-boot-starter-data-jpa</artifactId>
9

   <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>runtime</scope>
   </dependency>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
         <exclusion>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
         </exclusion>
      </exclusions>
   </dependency>
</dependencies>

控制器

用于演示HTTPS Get请求的简单HomeController供您参考。

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/home")
public class HomeController {
 @RequestMapping(value = "/", method = RequestMethod.GET)
 public String hello() {
  return "welcome to spring boot application";
 }
}

如果在不使用HTTPS的情况下访问Rest Endpoint(http:// localhost:8080 / home /),则会在浏览器中收到以下消息。

"Bad Request" (翻译:“错误的请求”)

主机和端口的这种组合则需要TLS。

如果使用HTTPS(https:// localhost:8080 / home /)来访问URL ,则会得到如下响应。

"Welcome to Spring Boot application."(翻译:“欢迎使用Spring Boot应用程序。”)

希望本文对你有帮助哦

半夜的一次斜眸,我发现了支付宝灰色产业的一角

用漫画让你清楚了解linux内核,看懂了么?

对不起,我没有义务帮你

相关推荐

30天学会Python编程:16. Python常用标准库使用教程

16.1collections模块16.1.1高级数据结构16.1.2示例...

强烈推荐!Python 这个宝藏库 re 正则匹配

Python的re模块(RegularExpression正则表达式)提供各种正则表达式的匹配操作。...

Python爬虫中正则表达式的用法,只讲如何应用,不讲原理

Python爬虫:正则的用法(非原理)。大家好,这节课给大家讲正则的实际用法,不讲原理,通俗易懂的讲如何用正则抓取内容。·导入re库,这里是需要从html这段字符串中提取出中间的那几个文字。实例一个对...

Python数据分析实战-正则提取文本的URL网址和邮箱(源码和效果)

实现功能:Python数据分析实战-利用正则表达式提取文本中的URL网址和邮箱...

python爬虫教程之爬取当当网 Top 500 本五星好评书籍

我们使用requests和re来写一个爬虫作为一个爱看书的你(说的跟真的似的)怎么能发现好书呢?所以我们爬取当当网的前500本好五星评书籍怎么样?ok接下来就是学习python的正确姿...

深入理解re模块:Python中的正则表达式神器解析

在Python中,"re"是一个强大的模块,用于处理正则表达式(regularexpressions)。正则表达式是一种强大的文本模式匹配工具,用于在字符串中查找、替换或提取特定模式...

如何使用正则表达式和 Python 匹配不以模式开头的字符串

需要在Python中使用正则表达式来匹配不以给定模式开头的字符串吗?如果是这样,你可以使用下面的语法来查找所有的字符串,除了那些不以https开始的字符串。r"^(?!https).*&...

先Mark后用!8分钟读懂 Python 性能优化

从本文总结了Python开发时,遇到的性能优化问题的定位和解决。概述:性能优化的原则——优化需要优化的部分。性能优化的一般步骤:首先,让你的程序跑起来结果一切正常。然后,运行这个结果正常的代码,看看它...

Python“三步”即可爬取,毋庸置疑

声明:本实例仅供学习,切忌遵守robots协议,请不要使用多线程等方式频繁访问网站。#第一步导入模块importreimportrequests#第二步获取你想爬取的网页地址,发送请求,获取网页内...

简单学Python——re库(正则表达式)2(split、findall、和sub)

1、split():分割字符串,返回列表语法:re.split('分隔符','目标字符串')例如:importrere.split(',','...

Lavazza拉瓦萨再度牵手上海大师赛

阅读此文前,麻烦您点击一下“关注”,方便您进行讨论和分享。Lavazza拉瓦萨再度牵手上海大师赛标题:2024上海大师赛:网球与咖啡的浪漫邂逅在2024年的上海劳力士大师赛上,拉瓦萨咖啡再次成为官...

ArkUI-X构建Android平台AAR及使用

本教程主要讲述如何利用ArkUI-XSDK完成AndroidAAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括:1.跨平台Library工程开发介绍...

Deepseek写歌详细教程(怎样用deepseek写歌功能)

以下为结合DeepSeek及相关工具实现AI写歌的详细教程,涵盖作词、作曲、演唱全流程:一、核心流程三步法1.AI生成歌词-打开DeepSeek(网页/APP/API),使用结构化提示词生成歌词:...

“AI说唱解说影视”走红,“零基础入行”靠谱吗?本报记者实测

“手里翻找冻鱼,精心的布局;老漠却不言语,脸上带笑意……”《狂飙》剧情被写成歌词,再配上“科目三”背景音乐的演唱,这段1分钟30秒的视频受到了无数网友的点赞。最近一段时间随着AI技术的发展,说唱解说影...

AI音乐制作神器揭秘!3款工具让你秒变高手

在音乐创作的领域里,每个人都有一颗想要成为大师的心。但是面对复杂的乐理知识和繁复的制作过程,许多人的热情被一点点消磨。...

取消回复欢迎 发表评论: