v
根據 let's encrypt 官方部落格消息,let's encrypt 服務将在下周(11 月 16 日)正式對外開放。

(題圖來自:muylinux.com)
<a></a>
說到 acme 協定,我們不得不提一下傳統 ca 的認證方式。let's encrypt 服務所簽發的證書為域名認證證書dv,domain-validated certificate,簽發這類證書需要域名所有者完成以下至少一種挑戰challenge以證明自己對域名的所有權:
驗證申請人對域名的 whois 資訊中郵箱的控制權;
驗證申請人對域名的常見管理者郵箱(如以 <code>admin@</code>、<code>postmaster@</code> 開頭的郵箱等)的控制權;
在 dns 的 txt 記錄中釋出一條 ca 提供的字元串;
在包含域名的網址中特定路徑釋出一條 ca 提供的字元串。
幸運的是 let's encrypt 免費證書簽發服務在經曆了漫長的開發和測試之後終于來臨,在 let's encrypt 官方 ca 被廣泛信任之前,identrust 的根證書對 let's encrypt 的二級 ca 進行了交叉簽名使得大部分浏覽器已經信任 let's encrypt 簽發的證書。
由于目前 let's encrypt 官方的證書簽發服務還未公開,你隻能嘗試開發版本。這個版本會簽發一個 ca 辨別為<code>happy hacker fake ca</code> 的測試證書,注意這個證書不受信任。
要擷取開發版本請直接:
<code>$ git clone https://github.com/letsencrypt/letsencrypt</code>
<code>letsencrypt</code> 工具可以協助你處理證書請求和驗證工作。
自動配置 web 伺服器
下面的操作将會自動幫你将新證書配置到 nginx 和 apache 中。
<code>$ letsencrypt run</code>
獨立簽發證書
下面的操作将會将新證書置于目前目錄下。
<code>$ letsencrypt -d example.com auth</code>
預設情況下 <code>letsencrypt</code> 工具将協助你跟蹤目前證書的有效期限并在需要時自動幫你續簽。如果需要手動續簽,執行下面的操作。
<code>$ letsencrypt renew --cert-path example-cert.pem</code>
列出目前托管的證書菜單以吊銷。
<code>$ letsencrypt revoke</code>
你也可以吊銷某一個證書或者屬于某個私鑰的所有證書。
<code>$ letsencrypt revoke --cert-path example-cert.pem</code>
<code>$ letsencrypt revoke --key-path example-key.pem</code>
如果你不想讓 letsencrypt 自動配置你的 web 伺服器的話,使用 docker 跑一份獨立的版本将是一個不錯的選擇。你所要做的隻是在裝有 docker 的系統中執行:
<code>$ sudo docker run -it --rm -p 443:443 -p 80:80 --name letsencrypt \</code>
<code>-v "/etc/letsencrypt:/etc/letsencrypt" \</code>
<code>-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \</code>
<code>quay.io/letsencrypt/letsencrypt:latest auth</code>
你就可以快速的為自己的 web 伺服器簽發一個免費而且受信任的 dv 證書啦!
let's encrypt 目前發行的 dv 證書僅能驗證域名的所有權,并不能驗證其所有者身份;
let's encrypt 不像其他 ca 那樣對安全事故有保險賠付;
let's encrypt 目前不提供 wildcard 證書;
let's encrypt 的有效時間僅為 90 天,逾期需要續簽(可自動續簽)。
對于 let's encrypt 的介紹就到這裡,讓我們一起目睹這場網際網路的安全革命吧。
本文來自雲栖社群合作夥伴“linux中國”,原文發表于2013-04-02.