takahiro最近、ウェブサイトのSSL化がすすんでおり、無料のSSL証明書提供サービスが提供されるなど、暗号化通信が必須とされる時代になってきています。ウェブショップなどの個人情報を不特定多数に入力してもらう必要があるサイトを運用する場合、SSLを利用しないで運用することはあり得ません。一方で、SSLの設定は証明書の期限がありますので、短くて数カ月、長い場合は数年のサイクルで更新をかけていく必要があります。ところが、人間忘れっぽいもので、たまにしかやらない作業は大まかなことは覚えていても、細かいところはあいまいになりがちです。いうことで、今回久しぶりに証明書の更新作業を行ったわけですが、例にもれず詳細がうすぼんやりとしか思い出せなくなっていました。いろいろなサイトに手順の解説がありますが自分のケースに合わせて調べまわるのが手間なので、今更ですが手順をここに表記します。1.opensslなどの証明書作成アプリを使いcsrを作成する。証明書発行機関にcsrファイルを提出し、証明書を受け取る。サービスによっては、1と2をやるかわりに、ウェブサイトのフォームに必要事項を記入すると(もちろん対価を支払うと)証明書を送ってくれるところもあります。中間証明書をまとめたPKCS7形式の証明書の3通を送ってきました。使用し、AlfrescoではPKCS7形式とプライベートキーを使ってPKCS12形式を生成するのに使用します。これらのファイルは、好きなファイル名を付けて保存してもいいのですが、あとで分かるように以下のように名前を付けて保存します。受け取った証明書を保存し、サーバーに保管する。/etc/ssl/privateなので、ここに受け取ったファイルを保存します。このフォルダを操作をするときはルート権限のあるユーザーでログインしておく必要があります。保存に際して通常は、同一名のファイルをそれぞれ用意して上書き保存すれば済みますが、ここで一工夫です。証明書のファイル名をつけ間違えていた場合など、いったん前の状態に戻て作業をやり直すことが考えられます。これを恐れて更新前のファイルと別の名前を付けると、証明書を利用するすべてのサービスで設定変更が発生します。この方法は間違いなく作業が漏れますのでいただけませんし、やり直しをするときはサービスの停止期間がのびてストレスがたまりまくりになるので、この方法は働き方改悪です。いうことで、/etc/ssl/private内に年次別のフォルダを作成し、ここに各ファイルを保存し、private内にシンボリックリンクを張ります。一度に操作すれば済むように、以下のようにシェルスクリプトを作ります。apacheの証明書参照先変更ファイルをシンボリックリンクの張り直しで更新するので、特に必要なし。