日本少妇寂寞少妇aaa,国产婷婷色一区二区三区,JK浴室自慰到不停喷水尿失禁,一本一道波多野结衣av黑人

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標(biāo) 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴

HTTPS中證書(shū)鏈不完整的解決方案

發(fā)表日期:2018-10 文章編輯:小燈 瀏覽次數(shù):4240

由于我們的部分業(yè)務(wù)場(chǎng)景是在微信(WebView)中打開(kāi)https的web頁(yè)面,在測(cè)試過(guò)程中卻發(fā)現(xiàn)了一個(gè)問(wèn)題,在Chrome中測(cè)試完全正常的https頁(yè)面,在iOS的微信(WebView)中表現(xiàn)正常,但在Android中,不論是哪個(gè)版本的安卓系統(tǒng),都不能正常打開(kāi)頁(yè)面,要么就是一片白,要么就是直接無(wú)法打開(kāi),解決這個(gè)問(wèn)題,需要在服務(wù)器上配置完整的SSL證書(shū)鏈。
之后在Android自帶的瀏覽器中測(cè)試,幾乎所有的手機(jī)都出現(xiàn)下面這樣的情況

image
image
image

證書(shū)鏈
看來(lái)Andorid的WebView不能打開(kāi)頁(yè)面應(yīng)該是與這有關(guān),造成這個(gè)問(wèn)題的主要原因是我們服務(wù)器配置證書(shū)的證書(shū)鏈不全造成的。

證書(shū)鏈其實(shí)就是描述證書(shū)的簽名環(huán)節(jié),就比如是 A 頒發(fā)證書(shū)給 B ,B頒發(fā)證書(shū)給C,然后我們手里的就是證書(shū)C。當(dāng)證書(shū)鏈不完整的情況下,也就是沒(méi)有描述我們手中的證書(shū)C是由誰(shuí)辦法的,所以導(dǎo)致的瀏覽器不認(rèn)為你這個(gè)證書(shū)是可信的授權(quán)證書(shū)。

每個(gè)設(shè)備中都會(huì)存有一些默認(rèn)的可信的根證書(shū),但很多CA是不使用根證書(shū)進(jìn)行簽名的,而是使用中間層證書(shū)進(jìn)行簽名,因?yàn)檫@樣做能更快的進(jìn)行替換(這句可能不對(duì),原文是 because these can be rotated more frequently)。

如果你的服務(wù)器上沒(méi)有中間件證書(shū),這樣的結(jié)果就是你的服務(wù)器上只有你的網(wǎng)站的證書(shū),客戶(hù)端的瀏覽器里只有CA的根證書(shū),這樣就會(huì)導(dǎo)致證書(shū)信任鏈不全,才導(dǎo)致了上面那兩個(gè)截圖中的問(wèn)題。這種中間層證書(shū)不全的問(wèn)題多出現(xiàn)在移動(dòng)端的瀏覽器上(就我目前看,iOS8 iOS9 都沒(méi)有出現(xiàn)問(wèn)題,Andorid各個(gè)版本都有這個(gè)問(wèn)題)。

當(dāng)你服務(wù)器上的證書(shū)中的信任鏈不全的情況下,瀏覽器會(huì)認(rèn)為當(dāng)前的鏈接是一個(gè)不安全的,會(huì)阻止頁(yè)面的打開(kāi)。

解決方案
說(shuō)清楚了原因,解決問(wèn)題就很簡(jiǎn)單了,只要把我們的證書(shū)鏈補(bǔ)全就可以了。
從SSL證書(shū)服務(wù)商那里,你獲得的crt證書(shū)文件大概是這個(gè)樣子的:

<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-----
# 證書(shū)內(nèi)容
-----END CERTIFICATE-----
</pre>

在你補(bǔ)全中間層證書(shū)和根證書(shū)后,新的crt證書(shū)文件看起來(lái)是這樣的:

<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-----
# 證書(shū)內(nèi)容 1
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
# 證書(shū)內(nèi)容 2
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
# 證書(shū)內(nèi)容 3
-----END CERTIFICATE-----
</pre>

這里包含了你的證書(shū),以及從你的證書(shū)向上遞歸直至根證書(shū)的全部證書(shū),這樣就可以向?yàn)g覽器證明你的鏈接是安全的。

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

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


本頁(yè)內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過(guò)網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶(hù)學(xué)習(xí)參考,本站不擁有所有權(quán),如您認(rèn)為本網(wǎng)頁(yè)中由涉嫌抄襲的內(nèi)容,請(qǐng)及時(shí)與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會(huì)在5工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://www.cokiv.cn/20469.html
相關(guān)開(kāi)發(fā)語(yǔ)言