最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot項(xiàng)目配置ssl連接的實(shí)現(xiàn)示例

 更新時(shí)間:2025年05月12日 09:21:04   作者:緣友一世  
本文主要介紹了springboot項(xiàng)目配置ssl連接的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

說明

  • 本文經(jīng)過本人實(shí)踐,具有實(shí)際可操作性。
  • 本文重點(diǎn)說明如何快速完成初創(chuàng)springboot項(xiàng)目的ssl配置方式,如果需要深入學(xué)習(xí)ssl內(nèi)容,請(qǐng)移步

申請(qǐng)jks文件

在終端中切換到j(luò)dk/bin目錄下,然后輸入生成文件的命令

cd C:\Program Files\Java\jdk-21\bin
keytool -genkeypair -alias AiDoctor -keyalg RSA -keysize 4096 -storetype JKS -keystore keystore.jks -validity 365

參數(shù)說明:

  • alias AiDoctor : 密鑰別名

  • keyalg RSA: 使用RSA算法

  • keysize 4096: 密鑰長(zhǎng)度2048位

  • storetype JKS: 存儲(chǔ)類型為JKS

  • keystore keystore.jks: 生成的密鑰庫(kù)文件名

  • validity 365: 有效期365天(1年)

  • 按照提示輸入相關(guān)信息:密鑰庫(kù)密碼、名字與姓氏(通常輸入域名)、組織單位名稱、組織名稱、城市或地區(qū)名稱、州或省份名稱、國(guó)家代碼(如CN)、確認(rèn)信息是否正確、密鑰密碼(可以直接回車使用與密鑰庫(kù)相同的密碼)

完整的代碼和執(zhí)行過程

C:\Users\kongyue>cd C:\Program Files\Java\jdk-21\bin

C:\Program Files\Java\jdk-21\bin>keytool -genkeypair -alias AiDoctor -keyalg RSA -keysize 4096 -storetype JKS -keystore keystore.jks -validity 365
輸入密鑰庫(kù)口令:
再次輸入新口令:
輸入唯一判別名。提供單個(gè)點(diǎn) (.) 以將子組件留空,或按 ENTER 以使用大括號(hào)中的默認(rèn)值。
您的名字與姓氏是什么?
  [Unknown]:  yang
您的組織單位名稱是什么?
  [Unknown]:  henu
您的組織名稱是什么?
  [Unknown]:  henu
您所在的城市或區(qū)域名稱是什么?
  [Unknown]:  kaifeng
您所在的省/市/自治區(qū)名稱是什么?
  [Unknown]:  henu
該單位的雙字母國(guó)家/地區(qū)代碼是什么?
  [Unknown]:  Zh_CN
CN=yang, OU=henu, O=henu, L=kaifeng, ST=henu, C=Zh_CN是否正確?
  [否]:  y

正在為以下對(duì)象生成 4,096 位RSA密鑰對(duì)和自簽名證書 (SHA384withRSA) (有效期為 365 天):
         CN=yang, OU=henu, O=henu, L=kaifeng, ST=henu, C=Zh_CN
輸入 <AiDoctor> 的密鑰口令
        (如果和密鑰庫(kù)口令相同, 按回車):

Warning:
JKS 密鑰庫(kù)使用專用格式。建議使用 "keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12" 遷移到行業(yè)標(biāo)準(zhǔn)格式 PKCS12。

在這里插入圖片描述

JKS轉(zhuǎn)PKCS12

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12
C:\Program Files\Java\jdk-21\bin>keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12
輸入源密鑰庫(kù)口令: 
已成功導(dǎo)入別名 aidoctor 的條目。
已完成導(dǎo)入命令: 1 個(gè)條目成功導(dǎo)入, 0 個(gè)條目失敗或取消

Warning:
已將 "keystore.jks" 遷移到 PKCS12。將 JKS 密鑰庫(kù)作為 "keystore.jks.old" 進(jìn)行了備份。

導(dǎo)出證書(用于客戶端信任)

如果需要讓客戶端信任此證書,可以導(dǎo)出公鑰證書:

keytool -exportcert -alias mydomain -keystore keystore.jks -file mydomain.crt -rfc
C:\Program Files\Java\jdk-21\bin>keytool -exportcert -alias AiDoctor -keystore keystore.jks -file AiDoctor.crt -rfc
輸入密鑰庫(kù)口令:

存儲(chǔ)在文件 <AiDoctor.crt> 中的證書

在這里插入圖片描述

spring 配置ssl證書

將生成的keystore.jks文件復(fù)制到Spring Boot項(xiàng)目的src/main/resources目錄下

在這里插入圖片描述

配置Spring Boot的application.yml

server:
  ssl:
    enabled: true
    key-store: classpath:keystore.jks
    key-store-password: yourpassword  # 替換為你的密鑰庫(kù)密碼
    key-password: yourpassword       # 替換為你的密鑰密碼(如果不同)
    key-alias: yourdomain
  port: 8443

測(cè)試接口

@RestController
@RequestMapping("/test")
public class TestController {
    @RequestMapping("/hello")
    public String HController() {
        return "Hello Controller";
    }
}

測(cè)試HTTPS連接:?jiǎn)?dòng)Spring Boot應(yīng)用,訪問https://localhost:8443

由于是自簽名證書,瀏覽器會(huì)顯示安全警告,可以添加例外繼續(xù)訪問。

在這里插入圖片描述

補(bǔ)充:JKS轉(zhuǎn)PKCS12兩種方式的區(qū)別

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12
keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.pfx -deststoretype PKCS12

第一條命令(原地轉(zhuǎn)換)

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12
  • 作用:將現(xiàn)有的 keystore.jks 文件原地轉(zhuǎn)換為 PKCS12 格式
  • 結(jié)果
    • 文件擴(kuò)展名保持 .jks 不變
    • 但實(shí)際內(nèi)容已經(jīng)是 PKCS12 格式
    • 原始 JKS 格式被備份成jks.old
  • 使用場(chǎng)景:當(dāng)你希望保留原文件名但改用 PKCS12 格式時(shí)

第二條命令(新建文件)

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.pfx -deststoretype PKCS12
  • 作用:創(chuàng)建一個(gè)新的 keystore.pfx 文件(PKCS12 格式)
  • 結(jié)果
    • 生成新文件 keystore.pfx
    • 原 keystore.jks 文件保持不變
    • 文件擴(kuò)展名使用 .pfx(PKCS12 的常用擴(kuò)展名)
  • 使用場(chǎng)景:當(dāng)你需要同時(shí)保留 JKS 和 PKCS12 兩個(gè)版本時(shí)

兩種格式的使用

兩種方式生成的文件都可以在 Spring Boot 中使用,但配置方式稍有不同:

  • 對(duì)于原地轉(zhuǎn)換的 .jks 文件(實(shí)際是 PKCS12 格式)
server:
  ssl:
    key-store: classpath:keystore.jks
    key-store-type: PKCS12  # 必須明確指定
    key-store-password: yourpassword
  • 對(duì)于新建的 .pfx 文件
server:
  ssl:
    key-store: classpath:keystore.pfx
    key-store-type: PKCS12  # 可以省略,因?yàn)?pfx擴(kuò)展名默認(rèn)關(guān)聯(lián)PKCS12
    key-store-password: yourpassword

實(shí)踐建議

  • 推薦使用第二條命令(生成 .pfx 文件):

    • 保留原始 JKS 文件作為備份
    • .pfx 擴(kuò)展名更明確地表示文件格式
    • 是行業(yè)更通用的標(biāo)準(zhǔn)
  • 如果你選擇原地轉(zhuǎn)換

    • 確保備份原始 JKS 文件
    • 在配置中必須明確指定 key-store-type: PKCS12
    • 注意文件擴(kuò)展名與實(shí)際格式不符可能造成混淆
  • 驗(yàn)證文件格式

    keytool -list -v -keystore keystore.jks
    # 或
    keytool -list -v -keystore keystore.pfx -storetype PKCS12

到此這篇關(guān)于springboot項(xiàng)目配置ssl連接的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)springboot配置ssl連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Java中的引用類型和使用場(chǎng)景詳細(xì)

    Java中的引用類型和使用場(chǎng)景詳細(xì)

    這篇文章介紹的是Java中的引用類型和使用場(chǎng)景,主要內(nèi)容展開Java中的引用類型,有強(qiáng)引用、軟引用 、弱引用、虛引用,需要的朋友可以參考一下
    2021-10-10
  • 學(xué)習(xí)Java內(nèi)存模型JMM心得

    學(xué)習(xí)Java內(nèi)存模型JMM心得

    這篇文章主要介紹了學(xué)習(xí)Java內(nèi)存模型JMM的心得以及對(duì)其原理做了深入的介紹,有興趣的朋友學(xué)習(xí)下吧。
    2017-12-12
  • Java套接字(Socket)網(wǎng)絡(luò)編程入門

    Java套接字(Socket)網(wǎng)絡(luò)編程入門

    這篇文章主要介紹了Java套接字(Socket)網(wǎng)絡(luò)編程入門,Socket可以理解為是對(duì)TCP/IP協(xié)議的抽象,需要的朋友可以參考下
    2015-10-10
  • Java反射與注解的詳細(xì)講解(含代碼)

    Java反射與注解的詳細(xì)講解(含代碼)

    注解和反射應(yīng)該說是后期JAVA開發(fā)里面比較重要的技術(shù)了,通過注解和反射可以簡(jiǎn)化許許多多的操作和步驟,最重要的是為JAVA的運(yùn)行提供了更多的靈活性,這篇文章主要介紹了Java反射與注解的詳細(xì)講解,需要的朋友可以參考下
    2026-06-06
  • SpringBoot集成P6spy實(shí)現(xiàn)自定義SQL日志打印

    SpringBoot集成P6spy實(shí)現(xiàn)自定義SQL日志打印

    本文主要介紹了SpringBoot集成P6spy實(shí)現(xiàn)自定義SQL日志打印,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Java實(shí)現(xiàn)動(dòng)態(tài)日歷效果

    Java實(shí)現(xiàn)動(dòng)態(tài)日歷效果

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)動(dòng)態(tài)日歷效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • java操作elasticsearch的案例解析

    java操作elasticsearch的案例解析

    這篇文章主要介紹了java操作elasticsearch的案例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • JavaWeb中請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向的區(qū)別以及使用

    JavaWeb中請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向的區(qū)別以及使用

    今天帶大家學(xué)習(xí)JavaWeb的相關(guān)知識(shí),文章圍繞著JavaWeb中請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向的區(qū)別以及使用展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下
    2021-06-06
  • IDEA 中 maven 的 Lifecycle 和Plugins 的區(qū)別

    IDEA 中 maven 的 Lifecycle 和Plugins&n

    IDEA 主界面右側(cè) Maven 標(biāo)簽欄有同樣的命令,比如 install,既在 Plugins 中存在,也在 Lifecycle中存在,到底選哪個(gè)?二者又有什么區(qū)別呢?下面小編給大家介紹下IDEA 中 maven 的 Lifecycle 和Plugins 的區(qū)別,感興趣的朋友一起看看吧
    2023-03-03
  • Java實(shí)現(xiàn)的DES加密解密工具類實(shí)例

    Java實(shí)現(xiàn)的DES加密解密工具類實(shí)例

    這篇文章主要介紹了Java實(shí)現(xiàn)的DES加密解密工具類,結(jié)合具體實(shí)例形式分析了Java實(shí)現(xiàn)的DES加密解密工具類定義與使用方法,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

涡阳县| 宜城市| 遂昌县| 衡东县| 英吉沙县| 石景山区| 仲巴县| 龙岩市| 延安市| 基隆市| 祥云县| 河曲县| 寿光市| 新晃| 谷城县| 怀来县| 精河县| 怀仁县| 安远县| 邛崃市| 浦城县| 万山特区| 卓资县| 砚山县| 松溪县| 玉山县| 彩票| 潢川县| 石阡县| 冕宁县| 志丹县| 十堰市| 龙南县| 黄陵县| 临桂县| 浙江省| 黑河市| 武强县| 望都县| 澜沧| 中超|