今天小編就爲大家分享一篇關於SpringBoot實戰之SSL配置詳解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
1、SSL介紹和說明
SSL的配置也是我們在實際應用中經常遇到的場景
SSL(Secure Sockets Layer,安全套接層)是爲網絡通信提供安全及數據完整性的一種協議,SSL在網絡傳輸層對網絡連接進行加密。SSL協議位於TCP/IP協議與各種應用層協議之間,爲數據通信提供安全支持。SSL協議可以分爲兩層:SSL記錄協議(SSL Record Protocal),它建立在可靠的傳輸協議(如TCP)之上,爲高層協議提供數據封裝、壓縮、加密等基礎功能的支持。SSL握手協議(SSL Handshake Protocal),它建立在SSL記錄協議之上。用於在實際數據傳輸開始前,通信雙方進行身份認證、協商加密算法、交換加密密鑰等。
而在基於B/S的Web應用中,是通過HTTPS來實現SSL的。HTTPS是以安全爲目標的HTTP通道,簡單講是HTTP的安全版,即在HTTP下加入SSL層,HTTPS的安全基礎是SSL。
2、生成證書
使用SSL首先需要一個證書,這個證書既可以是自簽名的,也可以是從SSL授權中心獲得的。下面演示自授權證書的生成。
每一個JDK或JRE裏面都有一個工具叫keytool,它是一個證書管理工具,可以用來生成自簽名的證書。
使用CMD進入C:\Program Files\Java\jdk1.8.0_111\bin所在的目錄,然後輸入一下內容:
keytool -genkey -alias tomcat
接着進入當前用戶目錄下,發現已經生成了一個.keystore文件,這就是我們要用的證書文件,如圖所示。
2.1 Spring Boot配置SSL
添加一個index.html到src/main/resources/static下,作爲測試
將.keystore文件複製到項目的根目錄(即pom.xml所在的位置),然後在application.properties中做SSL的配置:
#server.port = 8443 #server.ssl.key-store = .keystore #server.ssl.key-store-password= 111111 #server.ssl.keyStoreType= JKS #server.ssl.keyAlias: tomcat
接着再瀏覽器上訪問:https://localhost:8443.會出現相應頁面
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接