spring boot https --restful接口篇

咱們寫的接口默認都是http形式的,不過咱們的接口很容易被人抓包,並且一抓全是明文的挺尷尬的html

spring boot配置https生成證書大的方向有3種:spring

  1.利用keytool本身生成證書windows

  2.從免費的https網站申請證書,例如letsencrypt瀏覽器

  3.買收費的證書tomcat

本人沒錢,記錄下第一種和第二種方法。安全

第一種方法:服務器

 找個地方keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650,所有回車什麼都不用填,最好選擇是,而後輸入密碼;將生成的keystore.p12複雜到resources文件下,而後在配置文件application.yml下加入:app

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: trueui

啓動項目,訪問接口的時候在前面加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,這樣咱們改革端口什麼的很方便,不用再打包項目了

相關文章
相關標籤/搜索