zoukankan      html  css  js  c++  java
  • spring boot https --restful接口篇

    我们写的接口默认都是http形式的,不过我们的接口很容易被人抓包,而且一抓全是明文的挺尴尬的

    spring boot配置https生成证书大的方向有3种:

      1.利用keytool自己生成证书

      2.从免费的https网站申请证书,例如letsencrypt

      3.买收费的证书

    本人没钱,记录下第一种和第二种方法。

    第一种方法:

     找个地方keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650,全部回车什么都不用填,最好选择是,然后输入密码;将生成的keystore.p12复杂到resources文件下,然后在配置文件application.yml下加入:

    server:
      port: 8080
    ssl:
      key-store: classpath:keystore.p12
      key-store-password: yourpassword
      key-store-type: PKCS12
      key-alias: tomcat
    security:
      require-ssl: true

    security:
      require-ssl: true

    启动项目,访问接口的时候在前面加https://才能访问,我们用抓包软件fiddler试着抓了下,明文的输入输出被加密了,看了下证书10年

    第二种方法:

      下载letsencrypt的证书,这个其它地方有记录http://www.cnblogs.com/waterlufei/p/7261311.html ,然后在/etc/letsencrypt/live/example.com目录执行:

    openssl pkcs12 -export -in fullchain.pem
    -inkey privkey.pem
    -out keystore.p12
    -name tomcat
    -CAfile chain.pem
    -caname root

    输入确认密码,会产生keystore.p12文件,复制到windows,后面的步骤跟上面一样

    最后看了下第二种方法的证书周期是3个月,但是直接在浏览器中访问接口地址还是和第一种方法一样https都是提示不安全,这是因为我们申请的证书是基于域名申请的,而我们本地不是这个域名,这不要紧,我们把项目部署到服务器后就好了,一路标绿,game over,接口和html页面都可以https了:

    小技巧:我们启动的项目的时候如果不想每次都修改配置文件,可以在jar包同目录下新建config目录,然后在config下面新建application.yml,这样我们改革端口什么的很方便,不用再打包项目了

  • 相关阅读:
    app ios info权限配置:
    ionic3 小记录
    mipush ionic3 线上push
    ionic3 生命周期 之 ionViewWillLeave 坑
    iphone X 底部留白 之 ionic3 项目
    微信小程序 修改手机状态栏颜色
    git 命令
    微信小程序 下拉加载
    js 判断浏览器型号
    关于 ionic3 tabs 导航ico 点击 页面返回顶部
  • 原文地址:https://www.cnblogs.com/waterlufei/p/7270611.html
Copyright © 2011-2022 走看看