写点什么

SpringBoot 启用 HTTPS

用户头像
黄敏
关注
发布于: 2021 年 03 月 07 日
SpringBoot启用HTTPS

本文介绍了使用 jdk 的 keytool+openssl 自颁发证书,springboot 配置启用 https 的过程,以及使用 postman 验证成功。其中 openssl 颁发客户端证书是在 Linux 服务器上执行 shell 命令实现。


  • keytool 自签名证书

#当前目录生成一个名为keystore.p12的PKCS12密钥库文件,并且证书别名为tomcatkeytool -genkey -keyalg RSA -dname "cn=中国,ou=深圳爱克莱特科技股份有限公司,o=智能研究院,l=深圳,st=广东,c=CN" -storetype PKCS12 -keysize 2048 -keystore exckeystore.p12 -alias excserver -validity 36500 -storepass password-store20201111
复制代码
  • 客户端证书

#需要直接从命令行(例如脚本)输入PKCS#12密码,只需添加-passin pass:${PASSWORD}:#生成证书openssl pkcs12 -in exckeystore.p12 -out excled.crt.pem -clcerts -nokeys -passin 'pass:password-store20201111'#生成私钥openssl pkcs12 -in exckeystore.p12 -out excled.key.pem -nocerts -nodes -passin 'pass:password-store20201111'
复制代码
  • springboot 的 yml 配置文件中配置启用 https

server:  port: 443  ssl:    key-store: classpath:exckeystore.p12    key-store-password: password-store20201111    keyAlias: excserver    keyStoreType: PKCS12
复制代码
  • 测试 https 接口 get 请求失败,关闭证书校验

注意:直接使用 postman 测试 https 接口,校验自签名的证书会出错。

点击如下图红框选中的 Disable SSL Verification 按钮,关闭 postman 的证书校验功能。


image.png


  • 测试 https 接口 get 请求成功,获取到正常的返回数据


image.png


  • 检验 https 通道是否可用

点击"地球"标志,查看到本次请求已使用 TLS Protocol,确认 SSL 通道可用


image.png


打开 postman 控制台,查看请求的证书信息


image.png


发布于: 2021 年 03 月 07 日阅读数: 15
用户头像

黄敏

关注

还未添加个人签名 2019.11.30 加入

还未添加个人简介

评论

发布
暂无评论
SpringBoot启用HTTPS