为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证书的资料请关注我们其它相关文章!

(0)

相关推荐

  • SpringBoot 改造成https访问的实现

    SpringBoot https改造 1.生成密钥证书 生成命令:keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 (1)关键字解释: alias 密钥别名 storetype 指定密钥仓库类型 keyalg 生证书的算法名称,RSA是一种非对称加密算法 keysize 证书大小 keystore 生成的证书文件的存储路径

  • 基于springboot设置Https请求过程解析

    1.首先去阿里云购买个证书,也有免费的,但是免费的只能使用一年,证书需要绑定域名 2.将证书放进项目 3.配置YML server: ssl: key-store: 55555.pfx key-store-password: 55555 keyStoreType: PKCS12 connectionTimeout: 20000 port: 8888 重点来了,配置请求转发 @Configuration public class WebMvcconfig implements WebMvcConf

  • 详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化

    1.介绍 在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 1. 方便微服务部署. 2. 方便项目启动,不需要下载Tomcat或者Jetty 在目前的公司已经把内置的Jetty部署到了线上项目中,目前来说并无太大问题,内置就算有一些性能损失,但是通过部署多台机器, 其实也能够很轻松的解决这样的问题,内置容器之后其实是方便部署和迁移的. 1.1 优化策略 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数

  • SpringBoot2.0如何启用https协议

    SpringBoot2.0之后,启用https协议的方式与1.*时有点儿不同,贴一下代码. 我的代码能够根据配置参数中的condition.http2https,确定是否启用https协议,如果启用https协议时,会将所有http协议的访问,自动转到https协议上. 一.启动程序  package com.wallimn.iteye.sp.asset; import org.apache.catalina.Context; import org.apache.catalina.connect

  • Springboot单体架构http请求转换https请求来支持微信小程序调用接口

    http请求转换https请求 1.话不多说,直接上代码! application.properties配置文件 #(密钥文件路径,也可以配置绝对路径) server.ssl.key-store= classpath:证书文件名.pfx #(密钥生成时输入的密钥库口令) server.ssl.key-store-password:123456 #(密钥类型,与密钥生成命令一致) server.ssl.key-store-type:PKCS12 证书一般最好放在resources目录下 接下来配置

  • springboot配置https访问的方法

    1.购买或本地生成ssl证书 要使用https,首先需要证书,获取证书的两种方式: 1.自己通过keytool生成 2.通过证书授权机构购买 ###### 作为演示,我们使用keytool生成: C:\Users\xxx>keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什

  • springboot+nginx+https+linux实现负载均衡加域名访问简单测试

    1.把springboot项目打包成三个jar包,并指定端口为 14341,14342,14343 2.下载腾讯云免费ssl证书,解压后会出现如下图文件夹 3.把nginx文件夹下的 .crt 和 .key文件复制到服务器,例如复制到 /home/ssl/xxx.crt /home/ssl/xxx.key 4.安装好nginx默认配置文件在 /usr/local/nginx/conf/nginx.conf 5.修改nginx.conf配置文件实现https+负载均衡的简单测试(此测试是在一台服务

  • SpringBoot配置https实操方法

    升级 https 记录 1.去阿里云购买证书(免费版),并提交审核资料 购买的证书 2.下载证书 下载证书 3.查看上图页面的第三步 JKS证书安装 4.在证书目录下执行阿里云提供的命令,密码都填 pfx-password.txt 中的内容(三次),会生成 your-name.jks 文件. 生成 jks 证书 此处我已改名为 any.jks 5.将 any.jks 复制到 spring boot 应用的 resources 目录下 移动证书 6.在 application.yml 中配置证书及

  • springboot添加https服务器的方法

    什么是https 要说https我们得先说SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密.SSL协议可以分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装.压缩.加密等基本功能支持:SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始之前,通信双方进行身

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

    HTTPS是HTTP的安全版本,旨在提供数据传输层安全性(TLS).当你的应用不使用HTTP协议的时候,浏览器地址栏就会出现一个不安全的提示.HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击. 您可以通过在Web应用程序上安装SSL证书来实现HTTPS,互联网上受信任的证书通常是需要(CA)颁发的证书.为了学习目的,您也可以使用自签名证书,比如:使用Java Keytool生成自签名证书. 一.自签名证书 您可以使用位于JDK bin文件夹下的Keytool生成证

  • SpringBoot添加SSL证书的方法

    一.先进行域名的购买 域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云 记录值这里填你的服务器的IP 地址 二.申请SSL证书 阿里云提供免费的SSL证书,一个人可以申请20个 找到这里 提交获取 然后进行证书的申请 填个人信息,填完一步步保存提交后,证书申请会需要绑定DNS解析 我的是阿里云的,直接去DNS控制台添加就行,你们的根据自己的去相应的添加 记录值改为TXT,主机记录跟记录值,直接复制给的就行 显示这样说明成功 然后根据自己的需要选择证书的下载 这里我

  • 使用spring-boot-admin对spring-boot服务进行监控的实现方法

    spring-boot-admin,简称SBA,是一个针对spring-boot的actuator接口进行UI美化封装的监控工具.他可以:在列表中浏览所有被监控spring-boot项目的基本信息,详细的Health信息.内存信息.JVM信息.垃圾回收信息.各种配置信息(比如数据源.缓存列表和命中率)等,还可以直接修改logger的level. 官网:https://github.com/codecentric/spring-boot-admin 使用指南:http://codecentric.

  • 在SpringBoot中添加Redis及配置方法

    在实际的开发中,会有这样的场景.有一个微服务需要提供一个查询的服务,但是需要查询的数据库表的数据量十分庞大,查询所需要的时间很长. 此时就可以考虑在项目中加入缓存. 引入依赖 在maven项目中引入如下依赖.并且需要在本地安装redis. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifac

  • RestTemplate添加HTTPS证书全过程解析

    目录 RestTemplate添加HTTPS证书 证书的下载 证书导入JDK 生成keystore文件 项目中配置 RestTemplate访问HTTPS maven 配置 验证 RestTemplate添加HTTPS证书 证书的下载 先通过浏览器将未签名验证的证书保存到本地, 点击 不安全–> 证书–> 详细信息 --> 复制到文件 然后默认选择 起一个文件名 , 保存即可, 比如我将证书保存在了桌面 , 命名为 xx.cer 证书导入JDK 若是想要在项目中用到证书 , 需要先将证书

  • 详解为Angular.js内置$http服务添加拦截器的方法

    前言 在Angular框架中,创建团队为使用者进行了Ajax请求的封装,并通过$http服务暴露出相关的接口.Angular在其官方文档中指出, $http服务底层针对Web常见的安全攻击做出了相应的对策,也就是说使用$http服务封装的Ajax为使用者提供了更为安全的保障.作为一个框架,保证框架的可用性,适配性是很有必要的. Angular在设计,实现中也体现出来了这样的良好风格.我们通常在使用Ajax时,有时候希望我们能够在请求发起前或接收到请求后做一些相应的处理工作,比如:在请求发起前,在

  • Android okhttp3.0忽略https证书的方法

    最近公司项目需要,网络协议支持https,之前接触不多,所以这次想总结一下https在android开发中的相关内容 一.https证书 对于https和证书的概念,大家可以自行搜索百度. 证书分两种: 1.花钱向认证机构购买的证书,(我们公司买的证书一个就需要4000元,TMD,还不如多租一台服务器).服务器如果使用了此类证书的话,那对于移动端来说,直接可以忽略此证书,直接用https访问.与之不同的是ios内置了很多信任的证书,所以他们不需要做任何操作 2.另一种是自己制作的证书,使用此类证

  • IIS服务器配置阿里云https(SSL)证书的方法

    给服务器配置https证书(即SSL证书),就可以实现https安全访问.下面介绍了在IIS服务器配置https证书的方法. 一.前提条件 1)已安装IIS服务器,且您的IIS服务器上已经开启了443端口(HTTPS服务的默认端口). 2)已安装OpenSSL工具. 3)已下载IIS服务器所需要的证书文件. 4)在配置之前可以在CA机构申请一张合适的SSL证书. 注:申请证书时需要选择系统自动创建CSR,如果选择手动创建CSR,则不会生成证书文件.您需要选择其他服务器下载.crt证书文件后,使用

随机推荐