springboot 配置ssl 实现https访问

SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。SSL协议可以分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持;SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始之前,通信双方进行身份认证、协商加密算法、交换加密密钥等。在Web开发中,我们是通过HTTPS来实现SSL的。

 

HTTPS是以安全为目标的HTTP通道,简单来说就是HTTP的安全版,即在HTTP下加入SSL层,所以说HTTPS的安全基础是SSL,不过这里有一个地方需要小伙伴们注意,就是我们现在市场上使用的都是TLS协议(Transport Layer Security,它来源于SSL),而不是SSL,只不过由于SSL出现较早并且被各大浏览器支持因此成为了HTTPS的代名词
 

生成证书


使用SSL需要我们先生成一个证书,这个证书我们可以自己生成,也可以从SSL证书授权中心获得,自己生成的不被客户端认可,从授权中心获得的可以被客户端认可,提供SSL授权证书的服务商有很多,大家有兴趣可以自行查找。

本文以自己生成的证书为例。 
生成方式很简单,直接使用java自带的命令keytool来生成,生成命令如下:

keytool -genkey -alias tomcat  -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.p12 -validity 3650

然后会出现:

C:\Users\xxx>keytool -genkey -alias tomcat  -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.p12 -validity 3650
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  xxx
您的组织单位名称是什么?
  [Unknown]:  xxx
您的组织名称是什么?
  [Unknown]:  xxx
您所在的城市或区域名称是什么?
  [Unknown]:  xxx
您所在的省/市/自治区名称是什么?
  [Unknown]:  xxx
该单位的双字母国家/地区代码是什么?
  [Unknown]:  xxx
CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xxx是否正确?
  [否]:  y

其他的可以乱填,不过密码要记得

注意:

1.-storetype 指定密钥仓库类型 
2.-keyalg 生证书的算法名称,RSA是一种非对称加密算法 
3.-keysize 证书大小 
4.-keystore 生成的证书文件的存储路径 
5.-validity 证书的有效期

在系统的当前用户目录下会生成一个keystore.p12文件(如果你修改了证书文件的名称那就是你修改的名字),将这个文件拷贝到我们项目的根目录下,然后修改application.properties文件,添加HTTPS支持。在application.properties中添加如下代码:

server.ssl.key-store=keystore.p12
server.ssl.key-store-password=123456
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias:tomcat

这边的password就是上面的密码


打开postman:

成功

但还有一个问题没有解决,配置自定义的ssl,只能https://localhost访问能成功,https://ip却访问不行,我项目最后要部署到服务器上,肯定需要ip访问能成功

小伙伴这个怎么解决呢?我们下节来解决这个问题


下一章:Windows下用Nginx配置https服务器及反向代理springboot项目

参考:使用Spring Boot开发Web项目(二)之添加HTTPS支持_江南一点雨的专栏-CSDN博客_springboot 支持https

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小牛呼噜噜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值