2018年6月19日 星期二

申請SSL憑證

一次搞懂申請SSL憑證的流程及方法

許多MIS人員常常在接到公司指示要替公司的伺服器申請SSL憑證,都紛紛發出了「我是誰、我在哪裡,我在幹什麼」這樣的黑人問號疑問。


接到申請憑證的要求之後首先要搞懂的是

我是誰: 憑證是申請給什麼伺服器用的? 是給微軟IIS? Apache? 還是郵件伺服器? 知道是什麼伺服器之後,才能搞清楚要申請什麼格式」的憑證。 大部分 Open Source 派別的伺服器都是使用 x.509 格式的憑證也就是一般常見的 .key 及 .crt 這樣兩個純文字檔案。而微軟流派的伺服器大多需要 pfx/pkcs#12 這樣的 key+crt 二合一的格式以便匯入系統。

.crt 這樣的附檔名一般來說指的就是 ssl certificate 的英文單字 certificate 也就是憑證。在申請憑證的過程中一般會先產生第一輪自我簽名的版本,之後被替換為 CA簽名的版本CA (Certificate Authority)也就是你付錢它簽名的一個機構。

.key這個附檔名指的就是 key 也就是 private key。一般來說,特別要注意這個檔案可能會有密碼保護,也可能沒有。但是許多 Open Source 的軟體在一般狀態下只能吃沒有密碼的 .key 文件。也就是說你如果沒有先規劃好可能在申請的後段又要進行拆除密碼的操作。

我在哪裡: 憑證要到哪裡申請? 為什麼一定要付錢? 要付多少錢? 便宜跟貴的有差嗎? 首先我們先用一個小故事來說明: 憑證就像是一張要拿去申請研究所用的成績單,你可以自己在家用印表機列印自己的成績單(套用在憑證上就是所謂的自我簽章 self-signed)。但自己印的成績單交出去有用嗎? 沒用啊,因為研究所那裏會認為那是你自己掰的。
所以要拿去母校給教務處蓋個章認證(套用在憑證上這個教務處就是所謂的 CA)。你拿著自己印的成績單到教務處之後,它說你這個格式不合規定。請拿合規定的成績單來蓋章(套用在憑證上就是要提出一個 .csr (certificate signing request)) 。最後,學校說要蓋章可以,但要酌收手續費(套用在憑證上就是收費的動作)。

懂了以上的流程之後接下來首先我們就要建立符合 CA 規定的三大檔案:

.key
.crt
.csr

這三組檔案一次就能產生,但是會提交出去的只有 .csr 而 .key 及 .crt 留作私用,且自己產生的 .crt 在取得 CA 簽名過的 .crt 之後,就可被取代廢棄不用。

建立 .crt CERTIFICATE SINGING REQUEST

一般網路上抓來的教學都讓您使用 openssl 指令來建立,教學中的步驟通常非常侃長。我們不如利用現成線上 CSR 產生器來建立比較簡單快速。

在上圖的範例中,分別把csr跟private key圈選起來,然後copy & paste到筆記本中然後儲存成文字檔案: example.com.csr跟example.com.key。csr從-----BEGIN CERTIFICATE REQUEST-----到-----END CERTIFICATE REQUEST-----。private key從-----BEGIN PRIVATE KEY-----到-----END PRIVATE KEY-----。

成功產生上述兩個或三個檔案之後就可以拿著 .csr 文件去付費了。接下來馬上面對一個問題: 憑證簽名一年的費用從幾百塊到幾萬塊都有,有差嗎? 怎麼差那麼多? 申請便宜的會不會怎樣? 申請貴的又會不會怎樣? 

其實您大可以消費者的角度來看這件事情: 你上了那麼多網站有 https 你有看過它的憑證嗎? 你不會看別人也不會看,你看了就知道這個憑證是幾元買的嗎? 相信你看了也不知道。你甚至還不知道到哪裡去買幾百塊的憑證,更不知道它跟幾千幾萬的憑證其實都是一樣。 COMODO 或是 SYMANTEC 憑證的分別,只不過你上了不同的網站申請罷了。

小編在這邊客氣的告訴您 ,一般來說,一年份的DV憑證不會超過1000元台幣,超過就太貴了!

申請的時候大概會碰到三種憑證:

DV: Domain Validate 憑證,這是最簡單的憑證,需要的文件也最少,一般來說需要電話驗證,還要能夠針對 whois 紀錄進行操作或是提供網域上面 admin 之類的信箱才會允許申請。

EV: Extended Validate 憑證,需要提供很多工商文件,水電帳單文件等等給相關單位進行驗證。對國內用戶很不公平的是它需要一些國外的機構做第三方認證。而這個費用是很高的,這個才是真正的敲竹槓。申請這個的強處就是網友訪問你網站的時候網址列會呈現綠色。

WILD-CARD:  這個與 DV 或 EV 並不衝突,而是說一個憑證可以給多個子網址使用,比如 *.google.com (www.google.com或是ads.google.com等等)。如果公司裡面有很多不同的伺服器都會用到同一個網域名,wild-card就比較划算。
透過小編以上的說明,可以幫到大家對於憑證的差別跟申請有進一步的了解。申請哪種對自己公司的網站有幫助。因為不見得一定需要EV等級的憑證才可以。除非有相關規章提到。雖然憑證以及加密等等的演算法很複雜,但是申請跟建置憑證一點也不難喔!

1 則留言:

  1. 感謝你的分享。我剛好在找有關憑證的知識,謝謝你!

    回覆刪除