• <ul id="cgeq2"></ul>
  • 歡迎您光臨深圳塔燈網絡科技有限公司!
    電話圖標 余先生:13699882642

    網站百科

    為您解碼網站建設的點點滴滴

    HTTPS中證書鏈不完整的解決方案

    發表日期:2018-10 文章編輯:小燈 瀏覽次數:4148

    由于我們的部分業務場景是在微信(WebView)中打開https的web頁面,在測試過程中卻發現了一個問題,在Chrome中測試完全正常的https頁面,在iOS的微信(WebView)中表現正常,但在Android中,不論是哪個版本的安卓系統,都不能正常打開頁面,要么就是一片白,要么就是直接無法打開,解決這個問題,需要在服務器上配置完整的SSL證書鏈。
    之后在Android自帶的瀏覽器中測試,幾乎所有的手機都出現下面這樣的情況

    image
    image
    image

    證書鏈
    看來Andorid的WebView不能打開頁面應該是與這有關,造成這個問題的主要原因是我們服務器配置證書的證書鏈不全造成的。

    證書鏈其實就是描述證書的簽名環節,就比如是 A 頒發證書給 B ,B頒發證書給C,然后我們手里的就是證書C。當證書鏈不完整的情況下,也就是沒有描述我們手中的證書C是由誰辦法的,所以導致的瀏覽器不認為你這個證書是可信的授權證書。

    每個設備中都會存有一些默認的可信的根證書,但很多CA是不使用根證書進行簽名的,而是使用中間層證書進行簽名,因為這樣做能更快的進行替換(這句可能不對,原文是 because these can be rotated more frequently)。

    如果你的服務器上沒有中間件證書,這樣的結果就是你的服務器上只有你的網站的證書,客戶端的瀏覽器里只有CA的根證書,這樣就會導致證書信任鏈不全,才導致了上面那兩個截圖中的問題。這種中間層證書不全的問題多出現在移動端的瀏覽器上(就我目前看,iOS8 iOS9 都沒有出現問題,Andorid各個版本都有這個問題)。

    當你服務器上的證書中的信任鏈不全的情況下,瀏覽器會認為當前的鏈接是一個不安全的,會阻止頁面的打開。

    解決方案
    說清楚了原因,解決問題就很簡單了,只要把我們的證書鏈補全就可以了。
    從SSL證書服務商那里,你獲得的crt證書文件大概是這個樣子的:

    <pre style="margin: 15px 0px; padding: 10px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 12px; line-height: 18px; font-family: Consolas, monospace, serif; color: rgb(68, 68, 68); tab-size: 4; overflow: auto; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background: rgb(245, 245, 245);">-----BEGIN CERTIFICATE-----
    # 證書內容
    -----END CERTIFICATE-----
    </pre>

    在你補全中間層證書和根證書后,新的crt證書文件看起來是這樣的:

    <pre style="margin: 15px 0px; padding: 10px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 12px; line-height: 18px; font-family: Consolas, monospace, serif; color: rgb(68, 68, 68); tab-size: 4; overflow: auto; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background: rgb(245, 245, 245);">-----BEGIN CERTIFICATE-----
    # 證書內容 1
    -----END CERTIFICATE-----

    -----BEGIN CERTIFICATE-----
    # 證書內容 2
    -----END CERTIFICATE-----

    -----BEGIN CERTIFICATE-----
    # 證書內容 3
    -----END CERTIFICATE-----
    </pre>

    這里包含了你的證書,以及從你的證書向上遞歸直至根證書的全部證書,這樣就可以向瀏覽器證明你的鏈接是安全的。

    補全證書鏈
    比較方便的是使用這個在線的工具:
    https://certificatechain.io
    進入這個網站,粘貼進你的證書(只包含你的用戶證書),或者上傳你的證書,他就會給出補全后的證書文件,你只需要粘貼回你的文件或者下載覆蓋就可以了,然后在服務器上重新部署就可以解決問題。
    由于這里只需要上傳證書,所以是安全的,不需要擔心不安全的問題。
    如果不喜歡用在線的工具,可以使用下面這個本地的工具,PHP寫的,在命令行中運行:
    Github ssl-certificate-chain-resolver

    PS:
    一般情況下
    cert.pem 是證書
    chain.pem 是證書鏈編碼
    fullchain.pem 是cert.pem和chain.pem的證書集合
    privkey.pem 是私鑰文件
    1


    本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.juherenli.com/20469.html
    相關開發語言
     八年  行業經驗

    多一份參考,總有益處

    聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

    咨詢相關問題或預約面談,可以通過以下方式與我們聯系

    業務熱線:余經理:13699882642

    Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

    • QQ咨詢
    • 在線咨詢
    • 官方微信
    • 聯系電話
      座機0755-29185426
      手機13699882642
    • 預約上門
    • 返回頂部
    国产精品99久久99久久久动漫| 久青草中文字幕精品视频| 国产AV午夜精品一区二区三| 国产69精品久久久久久久| 久久久精品人妻一区二区三区 | 久久久无码人妻精品无码| 国产精品jvid在线观看| 国产成人精品高清在线观看99 | 女人国产香蕉久久精品| 久久久久久久久久久精品尤物| 国产综合精品蜜芽| 国产色精品vr一区区三区| 伊人久久精品无码麻豆一区| 亚洲国产精品第一区二区| 欧美日本精品一区二区三区| 国产精品无码一区二区在线观一 | 午夜精品成人毛片| 精品无码国产自产在线观看水浒传 | 亚洲日韩精品一区二区三区无码 | 中文字幕精品视频在线观| 妇女自拍偷自拍亚洲精品| 黑巨人与欧美精品一区| 99久久人妻无码精品系列蜜桃| 99热在线精品播放| 久久精品国产亚洲av麻| 国产午夜精品一本在线观看| 国产麻豆精品入口在线观看| 国产午夜亚洲精品不卡免下载| 国产精品久久久久久亚洲影视 | 久久国产午夜精品一区二区三区 | 老司机亚洲精品影视www| 精品福利一区3d动漫| 无码日韩人妻精品久久| 嫩草影院在线观看精品视频| 狠狠精品干练久久久无码中文字幕 | 久久亚洲国产精品一区二区 | 99视频精品全部免费观看| 国产精品精品自在线拍| 久久91精品久久91综合| 国产精品久久久久久吹潮| 亚洲av永久无码精品网站|