2017年1月19日木曜日

今年もStartSSL

年に一度の面倒事、ウェブサーバ証明書の更新の季節となりました。
単なる趣味で複数のドメインを所有し、
たくさんのホスト名でウェブサーバを運用しており、
個人としては大量と言ってもいいぐらいの証明書を使っているのですが、
実は既にかなりの数をLet's Encrypt発行のものに乗り換え済みで、
certbotでお手軽に更新できるようになりました。
しかしこれまでお世話になったStartSSLには義理があります。
いくつかのホスト名については
こちらから1年もの証明書を発行してもらうことに。

で、1年ぶりにStartSSLを訪れてみると…
1年前からまた大幅に変わってるorz
デザインもそうですが、ログインが[Client Certificate Login]と
[One Time Password Login]を任意に選べるようになっています。
まあ一旦ログインすれば基本線はそんなに変わってはいなくて、
ダッシュボード的なものが加わった分、わかりやすくはなりました。
証明書の発行も昨年同様Windows上では
"startcomtool.exe"ツールが助けてくれるようです。
が、その他にもLinuxやMacのためにopensslコマンドを使う方法の
説明が追加されています。昨年こんな記述あったっけ?
ということで、今回はopensslでやってみることに。

ログイン後に[Validations Wizard]タブで
ドメインの所有確認を行います。
その後[Validations Wizard]タブを訪れ[DV SSL Certificate]をクリック。
[Please enter your full hostname here]と書かれたテキストボックスに
所有確認できたドメインかそのサブドメイン内のホスト名を入力するのですが、
なんとホスト名は10個までリスト入力できます。
この前こんな機能あったっけ?
相変わらずワイルドカードは使えませんが。
複数のホストで共通の証明書が使えるのは
管理的にも運用的にも便利ではありますが、
漏れたときのことを考えるとなるべく個別に取った方がいいでしょうね。

次いでCertificate Signing Requestの入力です。
[Generated by Myself (.cer PEM format certificate)]を選択し、
提示された例を参考に
$ cd <ホスト名>
$ openssl req -newkey rsa:2048 -keyout ssl.key.wp -out ssl.csr
ここで[PEM pass phrase]には適当なパスフレーズを入力して覚えておきます。
[Country Name]には日本なら"JP"を、
[State or Province Name]には"Kanagawa-pref"のように都道府県を、
[Locality Name]には"Yokohama-city"のように市町村を、
[Organization Name]には組織名(会社名)を、
[Organizational Unit Name]には部署名を、
[Common Name]にはホスト名のFQDNを、
[Email Address]には管理者のメールアドレスを入力します。
あとは空欄で構いません。
そして
$ openssl rsa -in ssl.key.wp -out ssl.key
を実行し、[pass phrase]として先に設定したパスフレーズを入力し、
ファイル"ssl.key"を作成しておきます。
また、生成した"ssl.csr"をテキストエディタで開き、
その内容をウェブページの[Please paste CSR]と
書かれたテキストボックスにコピーします。
[Submit]ボタンをクリックすると証明書が作成され、
[SSL/TLS Server]メニューからダウンロードできます。
ダウンロードしたzipファイルを展開するとウェブサーバの種類毎に
またzipファイルがあるので、Apacheを使っているのなら
"ApacheServer.zip"を展開して"2_<ホスト名>.crt"ファイルを取り出し、
ファイル名を"ssl.crt"に変更します。
これで更新のためのファイル"ssl.crt"と"ssl.key"が揃いました。
これらをウェブサーバ上の以前のものと置き換えれば完了です。

ところで今回発行された証明書を見ると、
有効期限が2020年って…有効期間が3年間になったんですね。
以前は1年だったのに。
きっとLet's Encryptに対抗するためにそうしたんでしょう。
こちらは有効期間は3ヵ月ですからね。
しかし3年は結構長い。
それだけ漏れる可能性が高くなり、StartSSLでは失効は有料です。
それに3年ぶりにStartSSLのウェブサイトにアクセスしたら
とんでもなく変わってそうな予感がします。

0 件のコメント:

コメントを投稿