Edited at

無料SSLのLet's Encryptを使ってみた(CentOS7+Apache)

More than 1 year has passed since last update.

HTTPSなサイトを作るためには普通はSSL証明書を購入するか、オレオレ証明書を作成する必要があるが、コストやブラウザに警告が表示されるなど悩ましい。

そこで現在はクローズドベータ中ですが無償で利用できるSSL証明書発行サービスLet'sEncryptを試してみることにします。(ちなみに2015年12月3日にはパブリックベータとなるようです。)

le.png

自分メモに近いので、読みにくい個所はご容赦を。


ベータプログラムに参加

https://community.letsencrypt.org/t/beta-program-announcements/1631

にアクセスして「join the Beta,sign up here」をクリックします。

betaprogram.jpg

ベータプログラム参加のための登録フォームが表示されるので、必要な項目を入力します。

1. 証明書を取得したいドメイン名

2. 連絡先メールアドレス。

beta.jpg

送信すると数日(?)でアナウンスのメールが届きますので、それにしたがって設定を行います。


設定


検証環境

・CentOS7

1.準備

必要なパッケージをインストールします。

#webサーバ環境

yum install httpd mod_ssl openssl

#git
yum install git

httpdの必要な設定等は割愛(80番ポートはあけておき、httpdのサービスはストップしておく)


  1. Let’Encrypt

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

$ cd letsencrypt

$ sudo ./letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory auth
※-d(サーバ名)のオプションをつけてもOK

上記コマンドを実行すると必要なライブラリなどを自動的にインストールしてくれる。

画面がブルーバックに切り替わり

・Emailアドレスの入力

・サーバ名の入力

・使用許諾の確認

などが表示されるので、そのまま答えていく。

最後にこのようなメッセージが表示されれば完了。


IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/test.hogehoge.com/fullchain.pem. Your cert
will expire on 2016-02-22. To obtain a new version of the
certificate in the future, simply run Let's Encrypt again.

メッセージにあるように

「/etc/letsencrypt/live」ディレクトリ内に以下のファイルが生成される。

#サーバ証明書+中間証明書

/etc/letsencrypt/live/test.hogehoge.com/fullchain.pem
#サーバ証明書
/etc/letsencrypt/live/test.hogehoge.com/cert.pem
#中間証明書
/etc/letsencrypt/live/test.hogehoge.com/chain.pem
#サーバ秘密鍵
/etc/letsencrypt/live/test.hogehoge.com/privkey.pem

あとはssl.confに証明書等を登録してやればOK

#/etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/letsencrypt/live/test.hogehoge.com/cert.pem

SSLCertificateKeyFile /etc/letsencrypt/live/test.hogehoge.com/privkey.pem

SSLCertificateChainFile /etc/letsencrypt/live/test.hogehoge.com/chain.pem

httpdを再起動してブラウザ等でアクセスすると、成功!

証明書チェーンを確認してみると

     -DST Root CA X3

       -Let's Encrypt Authority X1

         -test.hogehoge.com

となっておりほとんどのブラウザで警告なしに表示可能かと思われます。


注意

なにしろLet'sEncryptのサービスがベータ版なので、有効期間が90日となっています。

今のところ定期的な更新が必要なのでご注意を!