Let’s Encrypt のベータ開始

Let’s Encrypt は誰でもTLS(SSL)を無料で使えるようにしようと言うプロジェクト。個人でもhttpsで簡単に暗号化できるようになります。詳しいことは、プロジェクトのページを見てください。https://letsencrypt.org/

正式公開の前にベータテストが開始されましたので試してみました。

具体的にはローカルのコンピューターにpythonの証明書管理用のプログラムをインストールして、プライベートキーの生成から署名要求(csr)の作成、サーバ証明書、中間証明書の取得までをほぼ全自動でやってくれるみたい。

上記のような仕組みなので、gitやwebサーバの動いている環境で使うのが前提のようです。要は、証明書を必要としているサーバの上でやるのが一番手っ取り早い。いつの間にかgitが当たり前の時代になってますな。
最初、Mac OSXの上でやろうとしたけど、すごく実験的だからねと言われて、うまく動きそうになかったので早々に断念しました。(結局Linuxでやりました)

git clone https://github.com/letsencrypt/letsencrypt

まずはこんな風にLet’s Encryptのプログラムたちをローカルにコピー。次に、letsencryptディレクトリに移動して、

./letsencrypt-auto --agree-dev-preview --server \
https://acme-v01.api.letsencrypt.org/directory auth

このコマンドを実行。この時にtcp/80を使ってドメインの存在証明をするので、既存で動いているapacheなどは一時的に止めておく必要があります。
するとゴニョゴニョといろいろ進んで、メールアドレス入れたり、使用許諾を確認したりすると、次の画面が出ます。

スクリーンショット 2015-11-02 23.08.17

ここで、証明書の欲しいサーバのFQDNを入れます。
すると、/etc/letsencrypt/live/(サイトのFQDN)/の中に証明書が出来上がっています。(もう既存のapacheを起動してもOK)

lrwxrwxrwx 1 root root 41 Nov 1 17:41 cert.pem -> ../../archive/(サイトのFQDN)/cert1.pem
lrwxrwxrwx 1 root root 42 Nov 1 17:41 chain.pem -> ../../archive/(サイトのFQDN)/chain1.pem
lrwxrwxrwx 1 root root 46 Nov 1 17:41 fullchain.pem -> ../../archive/(サイトのFQDN)fullchain1.pem
lrwxrwxrwx 1 root root 44 Nov 1 17:41 privkey.pem -> ../../archive/(サイトのFQDN)/privkey1.pem

cert.pemがサイトの証明書、chain.pemが中間証明書、fullchain.pemがサイト証明書と中間証明書が一体になったもの、privkey.pemがプライベートキーです。これらをWebサーバに設定します。(実体のファイルは1がついてますけど、証明書更新とかすると数字が増えるのかな?)

私はdebianのapache2を使っていますので、/etc/apache2/sites-available/default-sslを設定します。(抜粋)

SSLCertificateFile /etc/letsencrypt/live/(サイトのFQDN)/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/(サイトのFQDN)/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/(サイトのFQDN)/chain.pem

こんな感じ。あとはapache2を再起動するとhttpsでつながります。

1 thought on “Let’s Encrypt のベータ開始

  1. ピンバック: Let’s Encryptの本格運用 | n10の個人的なメモ

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください