SpringBoot實戰之SSL配置詳解

今天小編就爲大家分享一篇關於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.會出現相應頁面

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章