letsencrypt-win-simpleのFTP認証機能を使用してレンタルサーバでLet’s Encryptを利用する

無料で名高いSSL証明書「Let’s Encrypt」を使用しているわけですが。

もちろん、Linux環境(仮想でもOK)さえあればSSL証明書を発行してレンタルサーバでも使用できます。

ただ、作業が面倒くさいんですよね・・・

マニュアルモードを使用して手動で認証を行う必要があり、その都度指定される認証ファイルを作ってレンタルサーバにアップロードしなければなりません。

で、またまた更新期限が迫ってきたわけなんですが、使用しているVPSを気まぐれで初期化したばかり。

Let’s Encryptのクライアントはまだ設定しておらず使用できない状態。

わざわざLinux使わなくてもWindows上でサクッと作業できないのかなと思い探してみたところ、「letsencrypt-win-simple」というクライアントを発見。

どうやらバージョン1.8.9からFTPによる認証ファイルの自動アップロードに対応したそうな。

早速試してみたところ簡単に作業が終わったので手順をまとめたいと思います。

前提としては「IISが起動していないWindowsパソコン」を使用する必要があります。

また、「letsencrypt-win-simple」はLet’s Encryptが公開している公式のクライアントソフトではなく、非公式のクライアントソフトになります。

それを踏まえた上で自己責任でご使用ください。

1.letsencrypt-win-simpleをダウンロード

https://github.com/Lone-Coder/letsencrypt-win-simple/releasesにアクセスし、一番上(letsencrypt-win-simple.vX.X.X.zip)のZIPファイルをダウンロード。

2016年8月現在の最新バージョンは1.9.0でした。

2.letsencrypt-win-simplを実行

ダウンロードしたZIPファイルを解凍。

letsencrypt.exeを右クリックして「管理者として実行」を選択。

3.必要事項を入力し認証を行う

プログラムが起動してウィンドウが表示されます。

Enter an email address (not public. used for renewal fail notices):

と表示されたらメールアドレスを入力してEnter。

Do you agree to https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf? (Y/N):

は「規約に同意しますか?」という問いかけなので「Y」を入力してEnter。

ちなみに、上記2項目は初起動時にしか表示されません。

Scanning IIS Site Bindings for Hosts
 IIS Version not found in windows registry. Skipping scan.
No targets found.

 W: Generate a certificate via WebDav and install it manually.
 S: Generate a single San certificate for multiple sites.
 F: Generate a certificate via FTP/ FTPS and install it manually.
 M: Generate a certificate manually.
 A: Get certificates for all hosts
 Q: Quit
Which host do you want to get a certificate for:

IISが起動していない状態だと上記のような認証方法の一覧が表示されるので「F」を入力。

Enter a host name:

と表示されたらSSL証明書を発行するドメイン名を入力。

Enter a site path(the web root of the host for http authentication)

と表示されたらFTPサーバのパスを入力。
※もしサイトのドキュメントルートがFTPのドキュメントルートと異なる場合は、そのデイレクトリも含めた状態で入力します

Enter the FTP username:

と表示されたらFTPのユーザー名を入力。

Enter the FTP password:

とひょうじされたらFTPのパスワードを入力。

するとFTPに接続し認証ファイルを自動でアップロードし認証を開始します。

無事認証が終わるとファイルの生成先が表示されます。

基本的には

C:\Users\ユーザー名\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org

の中に

ドメイン名-key.pem(秘密鍵)
ドメイン名-crt.pem(サーバ証明書)
ドメイン名-csr.pem(CSRファイル)
ドメイン名-chain.pem(サーバ証明書と中間証明書が結合されたファイル)
ca-XXXXX.pem(中間証明書)

が生成されます。

あとはこれらをレンタルサーバに設定するだけです。

作業がものすごく楽になりました。

ただ、期限が近くなった際の更新方法がよくわからないので調べて別途まとめたいと思います。

あとは本家の様にサブドメインもまとめて一度に認証できるようになればもっと楽になるのに・・・
※SANを使用する方法が分かったので、別途まとめたいと思います。

雑記

Let’s Encryptが正式サービスを開始したときに関連記事を書こうかと思っていたんですが・・・

もたもたしているうちにいっぱい記事が登場したためお蔵入りに。

ようやく書くことが出来ました。

マニュアルモードでの認証方法を使ったレンタルサーバ向けの記事は少な目なので、気が向いたらまとめるかもしれません。

ただ、今回の方法を使用すればわざわざLinuxを準備しなくてもSSL証明書が発行できるので、正直微妙な立ち位置ですね。


コメントを残す