為SpringBoot服務添加HTTPS證書的方法
HTTPS是HTTP的安全版本,旨在提供數(shù)據(jù)傳輸層安全性(TLS)。當你的應用不使用HTTP協(xié)議的時候,瀏覽器地址欄就會出現(xiàn)一個不安全的提示。HTTPS加密每個數(shù)據(jù)包以安全方式進行傳輸,并保護敏感數(shù)據(jù)免受竊聽者或黑客的攻擊。
您可以通過在Web應用程序上安裝SSL證書來實現(xiàn)HTTPS,互聯(lián)網(wǎng)上受信任的證書通常是需要(CA)頒發(fā)的證書。為了學習目的,您也可以使用自簽名證書,比如:使用Java Keytool生成自簽名證書。
一、自簽名證書
您可以使用位于JDK bin文件夾下的Keytool生成證書。例如,C:\Program Files\Java\jdk1.8.0_161\bin
??梢允褂脙煞N自簽名證書,如下所示。
- 通過您自己的Java應用程序可以輕松訪問JKS(Java密鑰庫)。JKS僅限于Java,不能從Java外部訪問。
- PKCS12:該證書使用的公鑰加密標準與語言無關(guān),用于存儲加密的私鑰和證書。
二、如何生成自簽名證書
在Windows的搜索字段中鍵入cmd以找到命令提示符,然后以“以管理員身份運行”右鍵單擊。使用如下的keytool命令。您可以提及所需的證書名稱,如下所示。
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
自簽名證書受密碼保護。命令回車之后,會提示輸入密碼(這個密碼要記住,后面會用到)和其他詳細信息,如以下屏幕截圖所示。
完成上述步驟后,便會創(chuàng)建PKS密鑰并將其存儲在JDK Bin文件夾下。
三、將SSL應用于Spring Boot應用程序
從JDK bin文件夾復制ebininfosoft-ssl-key并將其放在Spring Boot Application的src / main / resources下。
如下所示,將SSL密鑰信息添加到application.properties中。
#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
四、寫一個Controller做簡單的測試
@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"
作者:字母哥博客
以上就是為SpringBoot服務添加HTTPS證書的方法的詳細內(nèi)容,更多關(guān)于SpringBoot服務添加HTTPS證書的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mybatis查詢實現(xiàn)返回List<Map>類型數(shù)據(jù)操作
這篇文章主要介紹了mybatis查詢實現(xiàn)返回List<Map>類型數(shù)據(jù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Spring MVC 基于URL的映射規(guī)則(注解版)
這篇文章主要介紹了Spring MVC 基于URL的映射規(guī)則(注解版) ,詳細的介紹了幾種方式,有興趣的可以了解一下2017-05-05springboot AutoConfigureAfter控制Bean的注入順序方法詳解
這個文章主要介紹一下@AutoConfigureAfter在spring框架中的作用,在使用過程中,很多開發(fā)人員在使用它的時候都出現(xiàn)了問題,問題比較多的就是它們的注冊順序總不是我們預期的,下面介紹一下正常的使用方法,感興趣的朋友一起看看吧2024-05-05SpringBoot+Redis+Lua分布式限流的實現(xiàn)
本文主要介紹了SpringBoot+Redis+Lua分布式限流的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08Spring Boot從Controller層進行單元測試的實現(xiàn)
這篇文章主要介紹了Spring Boot從Controller層進行單元測試的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04