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

springboot中server.ssl.key-store配置路徑的問題小結(jié)

 更新時(shí)間:2024年02月01日 09:58:55   作者:丸子的博客  
這篇文章主要介紹了springboot中server.ssl.key-store配置路徑的問題,文中還記錄了Spring Boot SSL(https)實(shí)例,介紹在web程序中使用自簽名的SSL(HTTPS)證書及創(chuàng)建SSL認(rèn)證,感興趣的朋友跟隨小編一起看看吧

springboot中server.ssl.key-store配置路徑的問題

在yml中配置路徑為:
key-store: classpath:xtszhcj.jks
啟動服務(wù)報(bào)錯:
獲取的路徑前有tomcat.basedir路徑file:的字樣+classpath(正確路徑),導(dǎo)致取不到對應(yīng)路徑文件報(bào)錯。

原因:

之前一直可以用,發(fā)現(xiàn)有人將tomcat版本改為8.0.21,之前使用tomcat版本為8.5.16。改為8.5.16就好了。
源碼追蹤,發(fā)現(xiàn)獲取key-store路徑前會加file:導(dǎo)致獲取不到文件后,自動前面加上tomcat.basedir.所以日志打印中有上訴路徑找不到。具體為什么會加file:沒有再去跟蹤代碼。

擴(kuò)展:

Spring Boot SSL(https)實(shí)例

此篇博文記錄了在web程序中使用自簽名的SSL(HTTPS)證書及創(chuàng)建SSL認(rèn)證。

SSL關(guān)鍵的配置

Spring Boot中HTTPS的配置(application.properties)

server.port=8443
server.ssl.key-alias=selfsigned_localhost_sslserver
server.ssl.key-password=changeit
server.ssl.key-store=classpath:ssl-server.jks
server.ssl.key-store-provider=SUN
server.ssl.key-store-type=JKS

將HTTP重定向到HTTPS

private Connector redirectConnector() {
  Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
  connector.setScheme("http");
  connector.setPort(8080);
  connector.setSecure(false);
  connector.setRedirectPort(8443);
  return connector;
}

基本概念

SSL:安全套接字層(Secure Sockets Layer)。此協(xié)議用于兩個系統(tǒng)網(wǎng)絡(luò)連接和傳輸時(shí)對數(shù)據(jù)的加密。傳輸過程中防止了黑客的讀取和竄改。

TLS:傳輸層安全(Transport Layer Security)相對于SSL更加的安全,相當(dāng)于SSL的升級版。目前所有的ca(certificate authorities)機(jī)構(gòu)都是基于TLS的,但是目前在互聯(lián)網(wǎng)上SSL更加流行。

HTTPS:超文本傳輸協(xié)議安全(Hyper Text Transfer Protocol Secure)在web網(wǎng)站上使用了SSL。這樣會比HTTP更加安全。

信任庫及密鑰庫(Truststore and Keystore):這兩個庫都是存儲了SSL證書。truststore存儲了公鑰信息,keystore存儲私鑰信息。

下面是創(chuàng)建自簽名證書

keytool -genkey -alias selfsigned_localhost_sslserver -keyalg RSA -keysize 2048 -validity 700 -keypass changeit -storepass changeit -keystore ssl-server.jks

解析下:

-genkey:生成證書;

-alias selfsigned_localhost_sslserver:設(shè)置證書的別名;

-keyalg RSA -keysize 2048 -validity 700:truststore和keystore的密碼;

-keystore ssl-server.jks:存儲密鑰的文件。其中JKS的含義是Java Key Store

執(zhí)行完上面的代碼后,會詢問一些問題如下:

查看jks中的證書信息:

下面是關(guān)于程序方面的內(nèi)容

添加RESTful接口

@RestController
class SecuredServerController{
    @RequestMapping("/secured")
    public String secured(){
        System.out.println("Inside secured()");
        return "Hello user !!! : " + new Date();
    }
}

將ssl-server.jks放到resources中在application.properties中配置如下:

server.port=8443
server.ssl.key-alias=selfsigned_localhost_sslserver
server.ssl.key-password=changeit
server.ssl.key-store=classpath:ssl-server.jks
server.ssl.key-store-provider=SUN
server.ssl.key-store-type=JKS

這樣Spring Boot就配置好HTTPS了

url輸入https://localhost:8443/secured

就進(jìn)入了https站點(diǎn)了

將HTTP重定向到HTTPS

將8080端口重定向到8443上面:

@Bean
public EmbeddedServletContainerFactory servletContainer() {
  TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
      @Override
      protected void postProcessContext(Context context) {
        SecurityConstraint securityConstraint = new SecurityConstraint();
        securityConstraint.setUserConstraint("CONFIDENTIAL");
        SecurityCollection collection = new SecurityCollection();
        collection.addPattern("/*");
        securityConstraint.addCollection(collection);
        context.addConstraint(securityConstraint);
      }
    };
  tomcat.addAdditionalTomcatConnectors(redirectConnector());
  return tomcat;
}
private Connector redirectConnector() {
  Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
  connector.setScheme("http");
  connector.setPort(8080);
  connector.setSecure(false);
  connector.setRedirectPort(8443);
  return connector;
}

源碼打包下載地址:

https://github.com/fengfanchen/Java/tree/master/ssl-server

到此這篇關(guān)于springboot中server.ssl.key-store配置路徑的問題的文章就介紹到這了,更多相關(guān)springboot server.ssl.key-store配置路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot使用注解獲取yml配置的兩種方法

    springboot使用注解獲取yml配置的兩種方法

    本文主要介紹了springboot使用注解獲取yml配置的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • 解決java項(xiàng)目jar打包后讀取文件失敗的問題

    解決java項(xiàng)目jar打包后讀取文件失敗的問題

    這篇文章主要介紹了解決java項(xiàng)目jar打包后讀取文件失敗的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • JAVA過濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法示例

    JAVA過濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法示例

    這篇文章主要介紹了JAVA過濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法,涉及java針對HTML代碼的正則替換相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • Java計(jì)時(shí)新姿勢StopWatch詳解

    Java計(jì)時(shí)新姿勢StopWatch詳解

    這篇文章主要介紹了Java計(jì)時(shí)新姿勢StopWatch,最近公司來了個大佬,從他那里學(xué)到不少東西,其中一個就是計(jì)時(shí)的新姿勢「StopWatch」,需要的朋友可以參考下
    2019-07-07
  • 說一說java關(guān)鍵字final和transient

    說一說java關(guān)鍵字final和transient

    這篇文章主要和大家說一說java關(guān)鍵字final和transient,感興趣的小伙伴們可以參考一下
    2016-06-06
  • java后端http接口流式輸出到前端的方法示例

    java后端http接口流式輸出到前端的方法示例

    這篇文章主要介紹了java后端http接口流式輸出到前端的相關(guān)資料,對比SseEmitter與WebFlux兩種實(shí)現(xiàn)方式,通過實(shí)例代碼詳細(xì)分析了其適用場景及優(yōu)劣,需要的朋友可以參考下
    2025-09-09
  • Mybatis打印SQL語句的幾種常用方式

    Mybatis打印SQL語句的幾種常用方式

    當(dāng)我們動態(tài)sql拼接的塊很多的時(shí)候,我們要想從*mapper.xml中直接找出完整的sql就會非常的難,這個時(shí)候經(jīng)常會需要把組合之后的完整SQL語句打印出來,對調(diào)試非常有幫助的,所以本文小編給大家介紹了幾種Mybatis打印SQL語句的常用方式,需要的朋友可以參考下
    2023-11-11
  • 基于Java接口回調(diào)詳解

    基于Java接口回調(diào)詳解

    這篇文章主要介紹了Java接口回調(diào)詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 淺談Java中真的只有值傳遞么

    淺談Java中真的只有值傳遞么

    這篇文章主要介紹了淺談Java中真的只有值傳遞么?文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java中RSA加密解密的實(shí)現(xiàn)方法分析

    Java中RSA加密解密的實(shí)現(xiàn)方法分析

    這篇文章主要介紹了Java中RSA加密解密的實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了java實(shí)現(xiàn)RSA加密解密算法的具體步驟與相關(guān)操作技巧,并附帶了關(guān)于RSA算法密鑰長度/密文長度/明文長度的參考說明,需要的朋友可以參考下
    2017-07-07

最新評論

越西县| 资兴市| 奎屯市| 玛纳斯县| 万宁市| 浙江省| 东乌| 萨迦县| 周宁县| 玉门市| 乳山市| 嘉荫县| 名山县| 陕西省| 石家庄市| 乳山市| 凭祥市| 汾阳市| 五莲县| 长宁县| 伽师县| 东宁县| 兴化市| 河津市| 正镶白旗| 井冈山市| 永靖县| 通榆县| 宁阳县| 嘉祥县| 临沧市| 柘城县| 乌鲁木齐市| 北碚区| 兴文县| 邹城市| 毕节市| 鱼台县| 吴江市| 丽江市| 泗阳县|