11-11-19 申請免費 StartSSL 證書並開啟 Apache SSL 完整教學

前一陣子朋友介紹了 StartSSL 這個可以全球唯一可以申請免費 SSL 證書的網站
申請後的 SSL 證書有效期限為一年
經過一番測試之後,Mowd 終於申請成功並且安裝到 Apache
現在就可以透過 https://ssl.mowd.tw 來瀏覽經過 https 加密的網誌囉


StartSSL 註冊過程如下:

1. 使用 IE 連到 http://www.startssl.com,點選右上角鑰匙圖案進入註冊頁
Mowd 之前要用 Chrome 註冊時,StartSSL 提示因為憑證匯入問題,不建議使用 Chrome ,於是 Mowd 是用 IE 註冊的

2. 點選 Sign-up 按鈕進行註冊

3. 接下來會看到一份註冊表格,填寫的資料必須正確
因為申請後 StartSSL 會進行審核,如果隨便寫寫就不會過了
送出表單後要等一下才會收到確認信,Mowd 大概十分鐘內就收到了
確認信中包含一串驗證碼,將驗證碼貼入表格終究可以完成驗證

4. 完成驗證後會要求你輸入登入 StartSSL 的憑證密碼,並且自動將登入憑證安裝到 IE 瀏覽器
日後如果要匯出登入憑證到其他電腦的話
可以到 IE 的「網際網路選項 –> 內容 –> 憑證」的個人分頁匯出

註冊完成之後,再來是申請 SSL 憑證
StartSSL 的免費帳戶可以申請 Class1 憑證
每一個憑證可以擁有一個主網域跟一個子網域
如果需要多個子網域的話,憑證可以分開申請,憑證數量一樣沒有限制
申請步驟如下:

1. 登入 StartSSL 後會進入 Control Panel 介面
首先必須要驗證你是網域的管理者
所以先點選 Validations Wizard
驗證方式選擇 Domain Name Validation

2. 接下來輸入主網域名稱,不要包含子網域

3. StartSSL 會根據網域註冊資料,發送驗證碼到你註冊網域的 E-mail
把驗證碼輸入表單送出後就完成網域驗證了

完成網域驗證後,接下來就是申請 SSL 證書了

1. 首先點選 Certificates Wizard 進行申請流程
選擇 Web Server SSL/TLS Certificate

2. 接下來要產生私鑰,先輸入一個大於 10 位數的密碼
密碼只能包含英文和數字
至於 Keysize,Mowd 是選 4096 位元

3. 下一個頁面就是剛剛我們產生的私鑰內容
這個私鑰文件是經過加密的,稍後我們要將他解密
把文字方塊內容儲存下來,並命名為 ssl.key

4. 接下來選擇我們要產生 SSL 證書的主網域以及子網域

5. 最後文字方塊裡面的就是 SSL 證書
將文字方塊裡面的文字儲存起來,檔名為 ssl.crt
另外記得要下載 intermediate 和 root CA 證書
如果缺少這兩個,Firefox 會出現「sec_error_unknown_issuer」
並且出現警告頁面告訴你不要信任 StartSSL 的 SSL 證書
http://www.startssl.com/certs/sub.class1.server.ca.pem
http://www.startssl.com/certs/ca.pem

以上步驟我們可以得到私鑰 ssl.key 以及 SSL 證書 ssl.crt
接下來我們要在 Apache 啟用 SSL
Mowd 是使用 CentOS 5.5
所以接下來 Mowd 都以 CentOS 5.5 的環境來介紹

1. 首先檢查 Apache 有沒有安裝 mod_ssl
可以透過 yum install mod_ssl 來安裝

2. 接下來將 ssl.key 上傳到 /etc/pki/tls/private/
將 ssl.crt 上傳到 /etc/pki/tls/certs/
將 sub.class1.server.ca.pem 以及 ca.pem 上傳到 /etc/pki/tls/

3. 前面提到我們取得的私鑰 ssl.key 是加密過後的
如果沒有解密的話,每次 Apache 啟動後都要輸入密碼
解密步驟如下:

#cd /etc/pki/tls/private/
#openssl rsa -in ssl.key -out ssl.key

接下來會提示你輸入私鑰密碼,輸入完就解密囉

4. 再來打開 /etc/httpd/conf.d/ssl.conf
將 ssl.conf 內各項憑證的路徑及檔案修改如下

SSLCertificateFile /etc/pki/tls/certs/ssl.crt
SSLCertificateKeyFile /etc/pki/tls/private/ssl.key
SSLCertificateChainFile /etc/pki/tls/sub.class1.server.ca.pem
SSLCACertificateFile /etc/pki/tls/ca.pem

5. 儲存後重新載入 Apache,SSL 就生效囉
SSL 測試網頁:https://ssl.mowd.tw

在〈11-11-19 申請免費 StartSSL 證書並開啟 Apache SSL 完整教學〉中有 12 則留言

  1. Rivsen

    搞定啦,那个解密私钥的步骤我找了好些网站都没有说,解密之后果然爽啊,不用输入那么多密码了~ 非常感谢!

    回覆
  2. Tony

    請問我已經有申請了一個付費的SSL certificate給網站用(https),是否可以拿來sign PDF文件呢?謝謝.

    回覆
  3. kamchan

    Just find another good & low price vps hosting,
    it is at: bandwagonhost.com

    Worth have a look about this hosting provider.

    And about those ssl lines, better put into conf.d/ssl.conf.

    Now working great with wp3.6.1 + firefox 25 too.

    Share with yours.

    kam

    回覆
    1. Mowd 文章作者

      Thanks for your sharing. This blog has been move from Hostigation to DigitalOcean. You can take a look.
      And in the 4th step of apache configuration part, these line should be in conf.d/ssl.conf indeed.

      回覆
  4. sam

    按照你说的改后无法启动apache,
    报错Name or service not known: Could not resolve host name *\xef\xbc\x9a443 — ignoring!

    回覆

發佈回覆給「Mowd」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *