HTTPS是HTTP的安全版本,旨在提供數據傳輸層安全性(TLS)。當你的應用不使用HTTP協議的時候,瀏覽器地址欄就會出現一個不安全的提示。HTTPS加密每一個數據包以安全方式進行傳輸,並保護敏感數據免受竊聽者或黑客的攻擊。spring
您能夠經過在Web應用程序上安裝SSL證書來實現HTTPS,互聯網上受信任的證書一般是須要(CA)頒發的證書。爲了學習目的,您也可使用自簽名證書,好比:使用Java Keytool生成自簽名證書。瀏覽器
您可使用位於JDK bin文件夾下的Keytool生成證書。例如,C:\Program Files\Java\jdk1.8.0_161\bin
。可使用兩種自簽名證書,以下所示。安全
本做者技術博客是:字母哥博客(z i m u g 點 康 姆),裏面包含精品技術文章集合,歡迎您的訪問。
在Windows的搜索字段中鍵入cmd以找到命令提示符,而後以「以管理員身份運行」右鍵單擊。使用以下的keytool命令。您能夠說起所需的證書名稱,以下所示。app
C:\Program Files\Java\jdk1.8.0_161\bin> keytool -genkeypair -alias selfsigned_localhost_sslserver -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore ebininfosoft-ssl-key.p12 -validity 3650
自簽名證書受密碼保護。命令回車以後,會提示輸入密碼(這個密碼要記住,後面會用到)和其餘詳細信息,如如下屏幕截圖所示。學習
完成上述步驟後,便會建立PKS密鑰並將其存儲在JDK Bin文件夾下。測試
#SSL Key Info security.require-ssl=true server.ssl.key-store-password=生成證書的密碼 server.ssl.key-store=src/main/resources/ebininfosoft-ssl-key.p12 server.ssl.key-store-type=PKCS12
@RestController @RequestMapping("/home") public class HomeController { @RequestMapping(value = "/", method = RequestMethod.GET) public String hello() { return "welcome to spring boot application"; } }
若是您在不使用HTTPS的狀況下訪問Rest Endpoint,則會在瀏覽器中收到「Bad Request」消息。若是您使用HTTPS來訪問URL,則會獲得以下響應:"welcome to spring boot application"ui