2019年2月24日 星期日

GCA政府憑證串鍊(Certificate chain)問題


是否遇到過這樣的問題

架好的IIS網站,申請了政府憑證,但Firefox卻出現安全連線失敗的畫面



首先若你已經有匯入憑證但出現這樣的問題

表示憑證的串鍊出現問題


憑證串練的檢查位置如下:

https://www.sslshopper.com/ssl-checker.html

只要輸入你所需要檢測的網址

就可檢測該憑證是否有完整的憑證串鍊

完整的憑證串鍊會呈現如下圖:


若是串鍊不完整

就會出現這樣:

紅色框框中明確告知你這憑證串鍊有問題

可能無法被所有瀏覽器所信任

而最容易檢測的瀏覽器就是firefox

若是憑證有問題

firefox都會出現安全連線失敗的畫面

網路上有許多教學如何把政府GCA憑證手動加入firefox的信任

當然若你是一般使用者,確實可以採用這樣的方式來使用該網頁

但若你是開發者,這樣的作法只是治標無法治本


通常正常的狀況

只要依據

https://gca.nat.gov.tw/download/GCA_SSL_Reset_5LayerChain.pdf

所提供的步驟進行即可

IIS的部分就參考其中IIS的章節

而若你有採用nginx可參考其中apache的章節

就能完成憑證串鍊


但前陣子在Server 2016, IIS 10上依照文件指示進行

卻始終無法檢測成功

在仔細比對下

在匯入憑證的過程中

會多跑出幾個不正確的憑證

所以在你完整的匯入說明文件所說的三項憑證:

第1張 GRCA 自發憑證(GRCA1 簽 GRCA1.5)

http://grca.nat.gov.tw/repository/Certs/GRCA1_to_GRCA1_5.cer

第2張 GRCA 自發憑證(GRCA1.5 簽 GRCA2)

http://grca.nat.gov.tw/repository/Certs/GRCA1_5_to_GRCA2.cer

第3張GCA2自簽憑證(GCA2)

http://gca.nat.gov.tw/repository/Certs/GCA2.cer

後,請檢查一下

1. 中繼憑證授權單位->憑證


是否如上圖多出兩個2032/12/5的憑證?

請手動把這兩個移除

匯入後正確的憑證只應該多出三個:

Govenment Root Certification Authority 2020/7/19 兩個

政府憑證管理中心 2033/1/31 一個


2. 受信任的跟憑證授權單位->憑證
(到這頁記得按重新整理的按鈕)


按下重新整理,查看是否多了一個2037/12/31的憑證

也請手動刪除

在受信任憑證只應該出現一個

 Govenment Root Certification Authority 2032/12/5


這幾個憑證都刪除後,再到IIS把https的繫結重做一次,IIS重啟

在把網址放到

https://www.sslshopper.com/ssl-checker.html

重新檢測看看,應該就會正常顯示完整的憑證串鍊

此時再用firefox瀏覽

應該就能正常進入網頁!

沒有留言:

張貼留言