国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

netty整合websocket支持自簽證書(shū)出現(xiàn)netty websocket ssl Received fatal alert: certificate_unknown

這篇具有很好參考價(jià)值的文章主要介紹了netty整合websocket支持自簽證書(shū)出現(xiàn)netty websocket ssl Received fatal alert: certificate_unknown。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

自簽證書(shū)

  1. win+r cmd

received fatal alert: certificate_unknown,netty,ssl,netty
  1. 生成自己jks文件,指向自己要生成jks的文件位置下,我直接生成到項(xiàng)目resources下

#換成自己的本地ip
keytool -genkey -alias server -keyalg RSA -validity 3650 -keystore D:\code\my_code\netty-demo-m\src\main\resources\mystore.jks -ext san=ip:192.168.3.7,ip:127.0.0.1,dns:localhost -storepass 1234567
received fatal alert: certificate_unknown,netty,ssl,netty
keytool -list -keystore  mystore.jks -v  //查看信息

2.生成證書(shū)

keytool  -alias server -exportcert  -keystore D:\code\my_code\netty-demo-m\src\main\resources\mystore.jks -file D:\code\my_code\netty-demo-m\src\main\resources\mystore.cer -storepass 1234567
received fatal alert: certificate_unknown,netty,ssl,netty
3.遷移到行業(yè)標(biāo)志
keytool -importkeystore -srckeystore D:\code\my_code\netty-demo-m\src\main\resources\mystore.jks -destkeystore D:\code\my_code\netty-demo-m\src\main\resources\mystore.jks -deststoretype pkcs12

成功生成證書(shū)

received fatal alert: certificate_unknown,netty,ssl,netty

項(xiàng)目運(yùn)行

將jks文件考入項(xiàng)目resources下

received fatal alert: certificate_unknown,netty,ssl,netty

yaml配置:


server:
  port: 8080
  ssl:
    key-store: classpath:mystore.jks
    key-store-password: 1234567
    key-store-type: JKS
#    key-alias: server
    enabled: true

netty證書(shū)加載

這里我就只上關(guān)鍵代碼了


@Override
    protected void initChannel(SocketChannel ch) throws Exception {
        if (openssl){ //true
                SSLEngine sslEngine = getServerSslContext().createSSLEngine();
                sslEngine.setNeedClientAuth(false);
                sslEngine.setUseClientMode(false);
                SslHandler sslHandler = new SslHandler(sslEngine);
                ch.pipeline().addLast(sslHandler);
        }
        ch.pipeline().addLast("http-codec", new HttpServerCodec()); // HTTP編碼解碼器
        ch.pipeline().addLast("aggregator", new HttpObjectAggregator(65536)); // 把HTTP頭、HTTP體拼成完整的HTTP請(qǐng)求
        ch.pipeline().addLast("http-chunked", new ChunkedWriteHandler()); // 方便大文件傳輸,不過(guò)實(shí)質(zhì)上都是短的文本數(shù)據(jù)
        ch.pipeline().addLast("websocket-handler",webSocketServerHandler);
        ch.pipeline().addLast("http-handler",websocketNettyRequestHandler);
    }


    public SSLContext getServerSslContext() throws Exception {

        DefaultResourceLoader resourceLoader = new DefaultResourceLoader();
        org.springframework.core.io.Resource resource = resourceLoader.getResource("classpath:mystore.jks"); 
        InputStream inputStream = resource.getInputStream();

        log.info("加載了密碼: {}", sslPassword);

        char[] passArray = sslPassword.toCharArray();
        SSLContext sslContext = SSLContext.getInstance("SSLv3");
        KeyStore ks = KeyStore.getInstance("JKS");
        //加載keytool 生成的文件
        ks.load(inputStream, passArray);
        KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        kmf.init(ks, passArray);
        sslContext.init(kmf.getKeyManagers(), null, null);
        inputStream.close();
        return sslContext;
    }

不添加信任netty websocket ssl Received fatal alert: certificate_unknown。

received fatal alert: certificate_unknown,netty,ssl,netty

錯(cuò)誤原因

這并不是程序的問(wèn)題,這是證書(shū)本身的問(wèn)題,主機(jī)并不承認(rèn)這個(gè)證書(shū)導(dǎo)致的。

received fatal alert: certificate_unknown,netty,ssl,netty

對(duì)證書(shū)添加信任

  1. 打開(kāi)證書(shū)

received fatal alert: certificate_unknown,netty,ssl,netty
  1. 計(jì)算機(jī)添加信任

點(diǎn)擊安裝證書(shū) - 選擇本地計(jì)算機(jī) - 將所有的證書(shū)都放入下列存儲(chǔ) - 受信任的根證書(shū)頒發(fā)機(jī)構(gòu)

received fatal alert: certificate_unknown,netty,ssl,netty

添加完成后就不會(huì)有不信任了。

received fatal alert: certificate_unknown,netty,ssl,netty
  1. 導(dǎo)入證書(shū)到信任庫(kù)中


keytool -import -alias server -keystore mycacert -file D:\code\my_code\netty-demo-m\src\main\resources\mystore.cer -storepass 1234567
received fatal alert: certificate_unknown,netty,ssl,netty

在java bin 目錄下會(huì)出現(xiàn)

received fatal alert: certificate_unknown,netty,ssl,netty

再次運(yùn)行

received fatal alert: certificate_unknown,netty,ssl,netty

注意

值得一提的是,自簽的證書(shū)有且之能在本機(jī)使用,如將A機(jī)生成的證書(shū)拷貝B機(jī)使用也會(huì)出現(xiàn)同樣的錯(cuò)誤。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-781335.html

到了這里,關(guān)于netty整合websocket支持自簽證書(shū)出現(xiàn)netty websocket ssl Received fatal alert: certificate_unknown的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • javax.net.ssl.SSLException: Received fatal alert: protocol_version解決

    javax.net.ssl.SSLException: Received fatal alert: protocol_version解決

    今天在開(kāi)發(fā)過(guò)程中,調(diào)用一個(gè)https的接口引發(fā)錯(cuò)誤 在Java 1.8上,默認(rèn)TLS協(xié)議是v1.2。在Java 1.6和1.7上,默認(rèn)是已廢棄的TLS1.0,由于此項(xiàng)目使用的是jdk1.6,因此引發(fā)錯(cuò)誤。 解決方法1: 在發(fā)起請(qǐng)求前面設(shè)置 TLSv1.2 協(xié)議 解決方法2: 在發(fā)起請(qǐng)求前忽略ssl認(rèn)證: 工具類(lèi): 使用方法:

    2024年02月11日
    瀏覽(31)
  • 排查https請(qǐng)求出現(xiàn)received fatal alert: internal_error的問(wèn)題

    排查https請(qǐng)求出現(xiàn)received fatal alert: internal_error的問(wèn)題

    目錄 背景 https網(wǎng)絡(luò)協(xié)議交互 net.debug查看信息 Apache Httpclient與 Netty的http請(qǐng)求 ?server_name 錯(cuò)誤原因 修復(fù)方案 方案一 方案二 通知某個(gè)商戶(hù)時(shí),突然出現(xiàn)大量的https握手失敗了,出現(xiàn)received fatal alert: internal_error錯(cuò)誤。商戶(hù)sre那邊當(dāng)時(shí)將多個(gè)域名綁定在一個(gè)主機(jī)上,開(kāi)了SNI(Server Nam

    2024年02月14日
    瀏覽(25)
  • Caused by: javax.net.ssl.SSLException: Received fatal alert: protocol_version

    ?? ?at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1575) ?? ?at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:854) ?? ?at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ?? ?at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ?? ?

    2024年02月06日
    瀏覽(25)
  • Java(92):javax.net.ssl.SSLException:Received fatal alert: protocol_version的解決方法

    2022-05-19 15:11:56 [ERROR] com.cipherxxx.utils.HttpsClientUtils - javax.net.ssl.SSLException: Received fatal alert: protocol_version 在Java 1.8上,默認(rèn)TLS協(xié)議是v1.2。在Java 1.6和1.7上,默認(rèn)是已廢棄的TLS1.0,由于此項(xiàng)目使用的是jdk1.6,因此引發(fā)錯(cuò)誤。 ------------------------------------------------------------- 服務(wù)端的

    2024年02月16日
    瀏覽(27)
  • https請(qǐng)求報(bào)錯(cuò):javax.net.ssl.SSLHandshakeException:Received fatal alert: unrecognized_name 的解決過(guò)程

    https請(qǐng)求報(bào)錯(cuò):javax.net.ssl.SSLHandshakeException:Received fatal alert: unrecognized_name 的解決過(guò)程

    提示:本地調(diào)試正常: 項(xiàng)目場(chǎng)景: 部署到WebSphere服務(wù)器上就會(huì)報(bào)上述錯(cuò)誤; 一度認(rèn)為是WebSphere服務(wù)器上的配置有問(wèn)題,經(jīng)過(guò)多次償試,最終解決問(wèn)題發(fā)現(xiàn)和服務(wù)配置無(wú)關(guān); 測(cè)試環(huán)境使用HttpClient發(fā)送https請(qǐng)求下載附件時(shí)報(bào)錯(cuò): 提示:項(xiàng)目地址是http,需要訪問(wèn)的地址是https: 因?yàn)樵L問(wèn)

    2024年02月05日
    瀏覽(35)
  • kettle工具連接MySQL數(shù)據(jù)庫(kù)報(bào)錯(cuò) Caused by: javax.net.ssl.SSLException: Received fatal alert: internal_error

    kettle工具連接MySQL數(shù)據(jù)庫(kù)報(bào)錯(cuò) Caused by: javax.net.ssl.SSLException: Received fatal alert: internal_error

    ? ? ? ? 前幾天為了修復(fù)MySQL數(shù)據(jù)庫(kù)漏洞,項(xiàng)目上從5.7.41版本升級(jí)到了5.7.43,今天在使用kettle時(shí)發(fā)現(xiàn)數(shù)據(jù)庫(kù)突然連不上了,測(cè)試連接報(bào)如下錯(cuò)誤: ???????? ? Error connecting to database: (using class org.gjt.mm.mysql.Driver) Communications link failure The last packet successfully received from the serve

    2024年02月06日
    瀏覽(25)
  • SpringBoot整合Netty+Websocket實(shí)現(xiàn)消息推送

    ? ? ? ?Netty是一個(gè)高性能、異步事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用框架,用于快速開(kāi)發(fā)可維護(hù)的高性能協(xié)議服務(wù)器和客戶(hù)端。以下是Netty的主要優(yōu)勢(shì): 高性能 :Netty基于NIO(非阻塞IO)模型,采用事件驅(qū)動(dòng)的設(shè)計(jì),具有高性能的特點(diǎn)。它通過(guò)零拷貝技術(shù)、內(nèi)存池化技術(shù)等手段,進(jìn)一步提高

    2024年01月20日
    瀏覽(21)
  • 基于netty框架不使用SSL證書(shū),實(shí)現(xiàn)websocket數(shù)據(jù)加密傳輸

    基于netty框架不使用SSL證書(shū),實(shí)現(xiàn)websocket數(shù)據(jù)加密傳輸

    1、簡(jiǎn)介 2、實(shí)現(xiàn)方式 3、服務(wù)端主要代碼 4、客戶(hù)端主要代碼 5、調(diào)用方式 為什么不使用SSL證書(shū)? 1、服務(wù)器運(yùn)行在專(zhuān)網(wǎng)環(huán)境,不能訪問(wèn)互聯(lián)網(wǎng)。證書(shū)有有效期,CA機(jī)構(gòu)規(guī)定,證書(shū)有效期最多2年。在客戶(hù)的專(zhuān)網(wǎng)環(huán)境里更新和維護(hù)證書(shū)就會(huì)增加運(yùn)營(yíng)成本。 實(shí)現(xiàn)邏輯? 參照SSL的實(shí)

    2024年02月04日
    瀏覽(25)
  • netty/websocket服務(wù)器配置阿里云SSL證書(shū)安全訪問(wèn)配置,親測(cè)有效

    netty/websocket服務(wù)器配置阿里云SSL證書(shū)安全訪問(wèn)配置,親測(cè)有效

    背景:java 微服務(wù)包括https訪問(wèn)和websocket訪問(wèn),當(dāng)https接口訪問(wèn)ws請(qǐng)求時(shí)報(bào)錯(cuò),因?yàn)閔ttps能訪問(wèn)wss。 申請(qǐng)阿里云免費(fèi)證書(shū)后,搜索各種教程比如nginx配置方式、netty訪問(wèn)證書(shū)等。走了不少?gòu)澛?,終于走通一種。 關(guān)鍵點(diǎn):1、因?yàn)槭褂昧薾etty,nginx配置wss的方式?jīng)]有走通。需要將證書(shū)放

    2024年02月01日
    瀏覽(25)
  • MAC: 自己制作https的ssl證書(shū)(自己簽發(fā)免費(fèi)ssl證書(shū))(OPENSSL生成SSL自簽證書(shū))

    MAC: 自己制作https的ssl證書(shū)(自己簽發(fā)免費(fèi)ssl證書(shū))(OPENSSL生成SSL自簽證書(shū))

    現(xiàn)在https大行其道, ssl又是必不可少的環(huán)節(jié). 今天就教大家用開(kāi)源工具openssl自己生成ssl證書(shū)的文件和私鑰 MAC電腦 openssl工具自行搜索安裝 1、終端執(zhí)行命令 2、輸入密碼,這里會(huì)輸入兩次. 填寫(xiě)一樣即可. 隨意填寫(xiě)一個(gè). 下一步就會(huì)刪除這個(gè)密碼 3、輸入密碼,這里會(huì)輸入兩次. 填寫(xiě)

    2024年04月14日
    瀏覽(232)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包