資訊安全意識抬頭後 瀏覽器對於非HTTPS的連線都會特別提醒
雖然網站是自己架設的 安全性上應該不至於出現什麼問題 但看到網址列的鎖頭沒有出現 還是感到很彆扭
先前有分享如何購買憑證、匯入憑證以及搞丟私鑰要如何處理的分享文章
動作完成後 鎖頭確實出現
但神奇的是有時候某些特定功能還是會顯示網站不安全 例如: Gitlab在提取repository時…
GITLAB-RUNNER X509: CERTIFICATE SIGNED BY UNKNOWN AUTHORITY
究竟問題出現在哪?
重新回到該篇文章 裏頭我透過匯入簽署憑證的第三方單位加入本機的授權名單 進而排除問題
這下問題來了 SSL的目的就是透過第三方簽署的方式讓其他人來背書你的網站安全
照理說這第三方單位應該是具有公信的 本身也需具備一定規模
既然如此 為什麼回來的憑證導入後 會顯示憑證來自未具授權的單位
我們重新回到簽證完成後的檔案
- 私鑰: 其實這就是當初申請憑證時,使用者從主機倒出來的CSR系統資料。裏頭會記載這台主機的位置、持有人等相關細節資訊
後面兩個檔案就是來自第三方簽證單位提供的簽署資料(前述壓縮檔內) - 憑證: 通常會以申請的域名命名,例如: xxx.com.crt
- 中繼憑證: 通常會以第三方認證單位的名稱命名,例如: SectigoRSADomainValidationSecureServerCA.crt
憑證與中繼憑證關係好像該產生什麼關聯
所以交叉檢索一番 沒錯 這個中繼憑證是還需要手動來處理一下
cat xxx.com.crt SectigoRSADomainValidationSecureServerCA.crt > xxx.com.crt
熟悉 Shell Command的人 一眼應該就能發現 就是Append file的功能 問題也就正式排除了
我們思考並歸納總結一下:
- CSR 是在憑證簽署建立前,我們對於伺服器的任務身分做的基本描述並送第三方機構備查
- 私鑰 是來在本機透過RSA等算法加密產生的獨一無二一把鑰匙,這把鑰匙是自己應該好好妥善留存
- 憑證: 當後續其他使用者看到其他網頁時,網頁提供的憑證資料去彼此檢核,進而達到網頁安全驗證目的
往往概念上是這樣,可是有發現中繼憑證是沒有存在意義,這就怪了
第三方機構很多,瀏覽器要怎麼樣交叉覆核呢? 這時中繼憑證他的角色就出來了
透過與憑證檔案合併,這把公鑰匙的發放與對應的發放機構資訊就可以做為驗證查核的基礎資訊
有了前幾次的經驗,這條路我們到底有沒有順利走完
下一篇來分享如何驗證是否成功從HTTP邁向HTTPS