资讯专栏INFORMATION COLUMN

SpringBoot服务配置HTTPS访问

IT那活儿 / 1420人阅读
SpringBoot服务配置HTTPS访问

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!


 HTTPS介绍

HTTPS全称:Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,可以理解为HTTP的安全版。

HTTPS相对于HTTP来说传输数据的安全性更加有保障,它通过证书验证服务端身份,同时通过采用混合加密技术对请求响应数据加密,可以保证传输的数据不被冒充和篡改。


 HTTPS原理

了解HTTPS原理前我们先来熟悉一下对称加密和非对称加密技术

  • 对称加密:通信双方使用同一把秘钥进行加解密,

    优点是加解密速度快、性能高。

    缺点是秘钥由通信双方共同维护,容易产生泄露风险。

  • 非对称加密:通信双方使用不同的秘钥加解密,一把作为公钥,公开给所有客户端使用,一把作为私钥,只有服务端持有使用。公钥加密的信息只有私钥能解密,私钥加密的内容也只有公钥能解密

    优点是私钥只有服务端持有,不会泄露公开,安全性更高。

    缺点是加解密效率没有对称加密高。

HTTPS实现原理就是综合利用了对称加密和非对称加密的优点,HTTPS请求流程大致如下图所示。其主要思路就是在客户端产生一个对称秘钥,然后通过公钥加密后发送给服务端,服务端使用私钥解密后拿到客户端的对称秘钥。这样客户端和服务端都持有了只有当前双方知道的对称秘钥,后续请求都通过该对称秘钥加密传输。

 HTTPS实现

1. 使用JDK自带的keytool工具生成ssl证书

keytool -genkey -alias gateway -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore scg-keystore.p12 -storepass shsnc123456 -validity 3650

其中属性含义如下:

  • -genkey 生成秘钥
  • -alias 别名
  • -keyalg 秘钥算法
  • -keysize 秘钥长度
  • -validity 有效期(天)
  • -keystore 生成秘钥库的存储路径和名称
  • -storepass 秘钥库口令
执行完成后生成下图证书:
2. SpringBoot配置ssl证书
将证书文件复制到工程的resources目录下:
在application.yml中配置SSL证书:
3. 测试效果
启动SpringBoot服务,使用HTTPS协议访问请求,可以看到已成功通过HTTPS访问。

本文作者:孙涛涛(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129413.html

相关文章

  • SpringBoot 整合 阿里云OSS 存储服务,快来免费搭建一个自己的图床

    摘要:笔主很早就开始用阿里云存储服务当做自己的图床了。阿里云对象存储文档,本篇文章会介绍到整合阿里云存储服务实现文件上传下载以及简单的查看。 Github 地址:https://github.com/Snailclimb/springboot-integration-examples(SpringBoot和其他常用技术的整合,可能是你遇到的讲解最详细的学习案例,力争新手也能看懂并且能够在看完...

    邹强 评论0 收藏0
  • 通过springBoot构建一个简单的Restful webService

    摘要:登录网站,生成一个基本的应用。目录结构如下由于生成的是,需要提前安装好工具。重新运行函数启动应用。目录结构如下将类放置到下面,重新启动应用,一切正常。至此,一个简单的基于的搭建完成。 1.登录网站https://start.spring.io/,生成一个基本的SpringBoot应用。 showImg(https://segmentfault.com/img/bVI6uh?w=1176...

    ybak 评论0 收藏0
  • 谷歌助力,快速实现 Java 应用容器化

    摘要:在年下旬开源了一款新的工具,可以轻松地将应用程序容器化。由于默认访问谷歌的仓库,而国内访问不稳定会经常导致网络超时,所以笔者使用了国内的阿里云镜像服务,那么就不需要访问谷歌的仓库了。执行完成后,我们可以在阿里云镜像仓库获取镜像。 原文地址:梁桂钊的博客博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。...

    Anonymous1 评论0 收藏0
  • 谷歌助力,快速实现 Java 应用容器化

    摘要:在年下旬开源了一款新的工具,可以轻松地将应用程序容器化。由于默认访问谷歌的仓库,而国内访问不稳定会经常导致网络超时,所以笔者使用了国内的阿里云镜像服务,那么就不需要访问谷歌的仓库了。执行完成后,我们可以在阿里云镜像仓库获取镜像。 原文地址:梁桂钊的博客博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。...

    MudOnTire 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<