为SpringBoot服务添加HTTPS证书的方法

 更新时间:2020年10月20日 09:33:57   作者:字母哥博客  
这篇文章主要介绍了为SpringBoot服务添加HTTPS证书的方法,帮助大家更好的理解和使用springBoot框架,感兴趣的朋友可以了解下

HTTPS是HTTP的安全版本,旨在提供数据传输层安全性(TLS)。当你的应用不使用HTTP协议的时候,浏览器地址栏就会出现一个不安全的提示。HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击。

您可以通过在Web应用程序上安装SSL证书来实现HTTPS,互联网上受信任的证书通常是需要(CA)颁发的证书。为了学习目的,您也可以使用自签名证书,比如:使用Java Keytool生成自签名证书。

一、自签名证书

您可以使用位于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应用程序

从JDK bin文件夹复制ebininfosoft-ssl-key并将其放在Spring Boot Application的src / main / resources下。
如下所示,将SSL密钥信息添加到application.properties中。

#SSL Key Info
security.require-ssl=true
server.ssl.key-store-password=生成证书的密码
server.ssl.key-store=src/main/resources/ebininfosoft-ssl-key.p12
server.ssl.key-store-type=PKCS12

四、写一个Controller做简单的测试

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

如果您在不使用HTTPS的情况下访问Rest Endpoint,则会在浏览器中收到“Bad Request”消息。如果您使用HTTPS来访问URL,则会得到如下响应:"welcome to spring boot application"

作者:字母哥博客

以上就是为SpringBoot服务添加HTTPS证书的方法的详细内容,更多关于SpringBoot服务添加HTTPS证书的资料请关注脚本之家其它相关文章!

相关文章

  • @Column映射不一致的解决

    @Column映射不一致的解决

    这篇文章主要介绍了@Column映射不一致的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java集合之LinkedList源码解析

    Java集合之LinkedList源码解析

    这篇文章主要介绍了Java集合之LinkedList源码解析,LinkedList和ArrayList数据结构是完全不一样的,ArrayList 底层是数组的结构,而 LinkedList 的底层则是链表的结构, 它可以进行高效的插入和移除的操作,它基于的是一个双向链表的结构,需要的朋友可以参考下
    2023-12-12
  • SpringBoot项目如何打war包问题详解

    SpringBoot项目如何打war包问题详解

    传统的部署方式:将项目打成war包,放入tomcat的webapps目录下面,启动tomcat,即可访问.文中有非常详细的介绍,对正在学习springboot的小伙伴很有帮助,需要的朋友可以参考下
    2021-05-05
  • 静态方法中调用Spring注入过程解析

    静态方法中调用Spring注入过程解析

    这篇文章主要介绍了静态方法中调用Spring注入过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • SpringBoot @Autowired注解注入规则介绍

    SpringBoot @Autowired注解注入规则介绍

    这篇文章主要介绍了SpringBoot @Autowired注解注入规则介绍,具有很好的参考价值,希望对大家有所帮助。
    2021-11-11
  • Java Web学习教程之Hibernate And MyBatis的理解

    Java Web学习教程之Hibernate And MyBatis的理解

    这篇文章主要给大家介绍了关于Java Web学习教程之Hibernate And MyBatis的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们来一起学习学习吧。
    2018-04-04
  • Java Process中waitFor()的问题详解

    Java Process中waitFor()的问题详解

    这篇文章主要给大家介绍了关于Java Process中waitFor()问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-12-12
  • 阿里、华为、腾讯Java技术面试题精选

    阿里、华为、腾讯Java技术面试题精选

    这篇文章主要为大家分享了阿里、华为、腾讯Java技术面试题精选,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Java读取String分行字符串的方法

    Java读取String分行字符串的方法

    今天小编就为大家分享一篇Java读取String分行字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Spring Boot 集成 Swagger2构建 API文档

    Spring Boot 集成 Swagger2构建 API文档

    这篇文章主要介绍了Spring Boot 集成 Swagger2构建 API文档,通过使用 Swagger,我们只需要按照它所给定的一系列规范去定义接口以及接口的相关信息,然后它就能帮我们自动生成各种格式的接口文档,方便前后端开发者进行前后端联调,下文需要的朋友可以参考一下
    2022-03-03

最新评论