• Spring Boot 开启https访问(配置SSL证书)


    前言:实际工作中为了提高数据传输的安全性,采用HTTPS通讯,简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输,相比http协议安全。SSL证书需要到CA机构申请证书,仅为测试可以使用jdk生成自签证书。

    配置步骤如下:

    一、JDK生成自签证书,以管理员身份运行CMD窗口

    **命令:**keytool -genkey -alias testhttps -keyalg RSA -keysize 2048 -validity 36500 -keystore “D:/tmp/ssl/testhttps.keystore”

    命令解释:
    -genkey 表示要创建一个新的密钥。

    -alias 表示 keystore 的别名。

    -keyalg 表示使用的加密算法是 RSA。

    -keysize 表示密钥的长度.。

    -keystore 表示生成的密钥存放位直。

    -validity 表示密钥的有效时间,单位为天。

    二、在springboot 中项目配置证书

    1. 将第一步生成的 testhttps.keystore 文件放入 /resource 目录下(即classpath目录)

    2. 在application.yml 配置文件中添加ssl 相关配置

    server:
    ? port: 9090
    ? servlet:
    ? ? context-path: /ssl-service
    
    ? ssl:
    ? ? key-store: classpath:testhttps.keystore  #类路径下的自签证书
    ? ? key-alias: testhttps # 证书别名
    ? ? key-store-password: 123456 #证书密码
    ? ? key-store-type: JKS # 证书类型
    ? ? enabled: true  # 开启证书验证
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3. 编写测试接口

    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class UserInfo {
    
        private String name;
    
        private Integer age;
    
        private String gender;
    }
    
    
    import com.ssl.demo.entity.UserInfo;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class UserController {
    
        @RequestMapping("getUserInfo")
        public UserInfo getUserInfo() {
            UserInfo userInfo = new UserInfo("高富帅", 20, "男");
            return userInfo;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    三、验证https访问

    在浏览器输入:https://localhost:9090/ssl-service/getUserInfo

    本文章介绍的是浏览器使用https方式访问服务端接口,后续更新三方服务如何通过后台 使用https方式 访问服务端接口。

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    基于Label studio实现UIE信息抽取智能标注方案,提升标注效率!
    【李宏毅机器学习】自编码器auto-encoder
    flutter 状态栏 AppBar 设置透明和半透明
    Promise的使用与async/await的使用
    Shiro 登录认证源码详解
    【ESP 保姆级教程】疯狂Node.js服务器篇 ——教室WiFi自动打卡考勤(飞书群信息+NodeJs)
    基于HTML+CSS+JavaScript+Bootstarp响应式健身网站(web前端期末大作业)
    HOOPS/QT集成指南
    基于Matlab的超像素图像分割
    二十三、SpringBoot + Jwt + Vue 权限管理系统 (4)
  • 原文地址:https://blog.csdn.net/jiey0407/article/details/126114085