当前位置: 首页 > 编程笔记 >

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

宣熙云
2023-03-14
本文向大家介绍为SpringBoot服务添加HTTPS证书的方法,包括了为SpringBoot服务添加HTTPS证书的方法的使用技巧和注意事项,需要的朋友参考一下

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证书的资料请关注小牛知识库其它相关文章!

 类似资料:
  • 问题内容: 我已经开始为API编写包装,该包装要求所有请求都通过HTTPS进行。我不想在开发和测试它时向实际的API发出请求,而是希望在本地运行自己的服务器来模拟响应。 我对如何生成创建HTTPS服务器并向其发送请求所需的证书感到困惑。 我的服务器看起来像这样: Pem文件是使用以下命令生成的: 一个请求看起来像这样: 通过此设置,我得到了,所以我认为我需要为该请求添加一个选项。 所以我的问题是我

  • 本文向大家介绍win2003架设证书服务器及让IIS6启用HTTPS服务,包括了win2003架设证书服务器及让IIS6启用HTTPS服务的使用技巧和注意事项,需要的朋友参考一下 现在到处是劫持网址加广告的,这样通过https访问,就不用担心了,比较适合对安全级别要求高的网站,当然老站更需要开启https了。 无废话图文教程,教你一步一步搭建CA服务器,以及让IIS启用HTTPS服务。 一、架设证

  • 我有一个小的springboot应用程序。我需要使用HTPPS,我从CA购买带有嵌入式tomcat的SSL证书。我试着配置它。应用财产: p、 12.使用keytool创建 **.我从加州得到的crt。我也有私钥,但不知道我需要在哪里使用它。 当我尝试启动此应用程序时,出现了一个错误 为什么应用程序看不到别名?我在keystore中看到了。 可能我需要一些其他设置来在springboot tomc

  • 我遵循了以下教程。因此,我在服务器初始化中添加了服务器.crt 和服务器.key 然后我尝试向Postman发送请求。为此,我向Postman添加了证书: 但是当我发送请求时,我收到此错误 - SSL错误:无法验证第一个证书。我知道我可以禁用SSL验证,但似乎应该有一个选项可以在不禁用它的情况下执行此操作。你能帮帮我吗

  • 问题内容: 内容: 因此,我试图从我的Java代码访问HTTPS站点,但由于本地主机和服务器之间的SSL握手问题而无法访问。出现此问题的原因似乎是我尝试访问的URL没有从授权CA颁发的有效证书。 因此,在进行了一些研究之后,我将尝试将有问题的SSL证书导入到我的JRE中,以便可以对其进行验证。 题: 使用keytool导入证书的此命令的mac等效命令是什么: 参考: http://www.jyot