人人做人人干-人人做人人看-人人做人人爽国产视-人人做人人爽人人爱-色屋视频-色屋网

歡迎您光臨深圳塔燈網絡科技有限公司!
電話圖標 余先生:13699882642

網站百科

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

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

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

由于我們的部分業務場景是在微信(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.kwpm.com.cn/20469.html
相關開發語言
 八年  行業經驗

多一份參考,總有益處

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

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

業務熱線:余經理:13699882642

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

  • QQ咨詢
  • 在線咨詢
  • 官方微信
  • 聯系電話
    座機0755-29185426
    手機13699882642
  • 預約上門
  • 返回頂部
主站蜘蛛池模板: 美国一级片网站 | 天堂网视频 | 欧美成人观看 | 五月综合在线 | 欧美色欧美亚洲高清在线视频 | 亚洲欧美国产一区二区三区 | 91成人免费 | 国产在线一区二区三区四区 | 日韩欧美视频一区 | 台湾乱xxxxxxxxx | 18成人免费观看网站入口 | 欧美日韩一区二区不卡三区 | 涩涩爱影院 | 国外成人免费视频 | 波多野结衣在线中文字幕 | 欧美成人第一页 | 六月综合激情 | 成人网免费观看 | 国产大片线上免费观看 | 国产日本在线播放 | 日韩在线观看内窥镜 | 一级特黄特色的免费大片视频 | 曰批免费视频播放在线看片 | 大杳焦伊人久久综合热 | 一个人看的www播放视频 | 正在播放的国产a一片 | 精品福利一区 | 国产亚洲欧美日本一二三本道 | 在线黄色网 | 久久久青青 | 一区二区在线视频 | 男人天堂网2021 | a国产片 | 成人黄色在线网站 | 国内福利视频 | 欧美日韩一区二区不卡 | 亚洲成a人片在线v观看 | 丝袜美女在线观看 | 国产成人一级片 | 精品国产欧美一区二区三区成人 | 国产欧美日韩不卡在线播放在线 |