先日紹介した「Let’s Encrypt」の非公式 Windows 用クライアントソフトこと「letsencrypt-win-simple」ですが。
SAN(詳しくは下記の補足をご覧ください)を使用してマルチドメインをまとめて認証する方法を見つけたのでまとめたいと思います。
手順は前回の記事とほぼ同じ。
⇒ letsencrypt-win-simple の FTP 認証機能を使用してレンタルサーバで Let’s Encrypt を利用する
前提としては「IIS が起動していない Windows パソコン」を使用する必要があります。
また、「letsencrypt-win-simple」は Let’s Encrypt が公開している公式のクライアントソフトではなく、非公式のクライアントソフトになります。
それを踏まえた上で自己責任でご使用ください。
1.ダウンロード
https://github.com/Lone-Coder/letsencrypt-win-simple/releasesにアクセスし、一番上(letsencrypt-win-simple.vX.X.X.zip)の ZIP ファイルをダウンロード。
ダウンロードした ZIP ファイルを解凍し任意のフォルダに移動します。
コマンドプロンプトでアクセスするので移動しやすいフォルダがおすすめです。
今回は C ドライブの直下に移動したと仮定して進めます。
2.コマンドプロンプトから letsencrypt-win-simple を実行
コマンドプロンプトを立ち上げ、letsencrypt.exe にオプション「–san」を指定して実行。
> cd C:
> cd letsencrypt-win-simple
> letsencrypt.exe --san
3.必要事項を入力し認証を行う
実行されたletsencrypt-win-simpleが別ウィンドウで立ち上がります。
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。
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:
メインとして使用するドメイン名を指定します。
例)domain.com
Enter all Alternative Names seperated by a comma
ここでは SAN に設定したい FQDN(完全修飾ドメイン名)をカンマ(,)で区切って入力します。
※上記で指定したメインで使用するドメインも含める
例)domain.com,wwww.domain.com,blog.domain.com
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(もしくは SANs)とは、Subject Alternative Names の略称で「サブジェクトの別名」という意味だそうです。
SSL 証明書の Subject Alternative Names という項目に複数の FQDN(完全修飾ドメイン名)を設定することで、1枚でマルチドメインに対応する SSL 証明書を作成できる技術です。