為SpringBoot服務(wù)添加HTTPS證書的方法
HTTPS是HTTP的安全版本,旨在提供數(shù)據(jù)傳輸層安全性(TLS)。當(dāng)你的應(yīng)用不使用HTTP協(xié)議的時(shí)候,瀏覽器地址欄就會(huì)出現(xiàn)一個(gè)不安全的提示。HTTPS加密每個(gè)數(shù)據(jù)包以安全方式進(jìn)行傳輸,并保護(hù)敏感數(shù)據(jù)免受竊聽者或黑客的攻擊。
您可以通過在Web應(yīng)用程序上安裝SSL證書來實(shí)現(xiàn)HTTPS,互聯(lián)網(wǎng)上受信任的證書通常是需要(CA)頒發(fā)的證書。為了學(xué)習(xí)目的,您也可以使用自簽名證書,比如:使用Java Keytool生成自簽名證書。
一、自簽名證書
您可以使用位于JDK bin文件夾下的Keytool生成證書。例如,C:Program FilesJavajdk1.8.0_161bin。可以使用兩種自簽名證書,如下所示。
通過您自己的Java應(yīng)用程序可以輕松訪問JKS(Java密鑰庫)。JKS僅限于Java,不能從Java外部訪問。 PKCS12:該證書使用的公鑰加密標(biāo)準(zhǔn)與語言無關(guān),用于存儲(chǔ)加密的私鑰和證書。二、如何生成自簽名證書
在Windows的搜索字段中鍵入cmd以找到命令提示符,然后以“以管理員身份運(yùn)行”右鍵單擊。使用如下的keytool命令。您可以提及所需的證書名稱,如下所示。
C:Program FilesJavajdk1.8.0_161bin>keytool -genkeypair -alias selfsigned_localhost_sslserver -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore ebininfosoft-ssl-key.p12 -validity 3650
自簽名證書受密碼保護(hù)。命令回車之后,會(huì)提示輸入密碼(這個(gè)密碼要記住,后面會(huì)用到)和其他詳細(xì)信息,如以下屏幕截圖所示。
完成上述步驟后,便會(huì)創(chuàng)建PKS密鑰并將其存儲(chǔ)在JDK Bin文件夾下。
三、將SSL應(yīng)用于Spring Boot應(yīng)用程序
從JDK bin文件夾復(fù)制ebininfosoft-ssl-key并將其放在Spring Boot Application的src / main / resources下。如下所示,將SSL密鑰信息添加到application.properties中。
#SSL Key Infosecurity.require-ssl=trueserver.ssl.key-store-password=生成證書的密碼server.ssl.key-store=src/main/resources/ebininfosoft-ssl-key.p12server.ssl.key-store-type=PKCS12
四、寫一個(gè)Controller做簡單的測試
@RestController@RequestMapping('/home')public class HomeController { @RequestMapping(value = '/', method = RequestMethod.GET) public String hello() { return 'welcome to spring boot application'; }}
如果您在不使用HTTPS的情況下訪問Rest Endpoint,則會(huì)在瀏覽器中收到“Bad Request”消息。如果您使用HTTPS來訪問URL,則會(huì)得到如下響應(yīng):'welcome to spring boot application'
作者:字母哥博客
以上就是為SpringBoot服務(wù)添加HTTPS證書的方法的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot服務(wù)添加HTTPS證書的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 如何對(duì)php程序中的常見漏洞進(jìn)行攻擊2. PHP循環(huán)與分支知識(shí)點(diǎn)梳理3. jsp EL表達(dá)式詳解4. ThinkPHP5 通過ajax插入圖片并實(shí)時(shí)顯示(完整代碼)5. JavaWeb Servlet中url-pattern的使用6. Spring MVC+ajax進(jìn)行信息驗(yàn)證的方法7. .NET6打包部署到Windows Service的全過程8. ASP中格式化時(shí)間短日期補(bǔ)0變兩位長日期的方法9. JSP之表單提交get和post的區(qū)別詳解及實(shí)例10. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算
