より具体的なメモ。
最近はssls.comというサイトでCOMODOのPositiveSSLを購入し使っている。GeotrustのRapidSSLが日本の代理店からしか買えなくなって、しかも価格が日本向けの(高い)値段になってしまったためだ。PositiveSSLだとこのサイトでは1年で8.95ドル、3年で14.97ドル。
ふだん1つのサーバにいくつものバーチャルドメインを置いた運用をしているので、SSL関連ファイルはそれぞれのホームディレクトリの直下にsslディレクトリを作成し、そこに置く。混乱するので、以下の名前で統一している。
ssl.key | 証明書用の秘密鍵。 |
ssl.csr | 秘密鍵を元に作るCSR |
ssl.cert | SSLサーバ証明書 |
ssl.ca | ルート・中間証明書 |
は証明書を更新するときは、bk160902のようなディレクトリを作成して、ssl.ca以外のファイルをそこに移動して、新たにssl.key、ssl.csrを作り、発行された証明書をssl.certとして設置、service httpd restartして終了。
※複数サイトの証明書を入れ違えたなど証明書に不備があると、httpdの停止はできるが起動できなくなるので、十分注意。
cd ssl
mkdir bk160831
mv ssl.cert ssl.csr ssl.key bk160831
openssl genrsa -out ssl.key 2048 -sha256
openssl req -new -sha256 -key ssl.key -out ssl.csr
openssl req -noout -text -in ssl.csr
cat ssl.csr
こんなテンプレートを用意しておく。
bk******は作業した日付に直す。
cd ssl
mkdir bk160831
mv ssl.cert ssl.csr ssl.key bk160831
openssl genrsa -out ssl.key 2048 -sha256
openssl req -new -sha256 -key ssl.key -out ssl.csr
をコピペする。CSRの作成は対話式なので、最低以下の内容を入力していく。終了すると、ssl.csrができる。
C | Country Name | 国名(日本の場合JP) |
S | State or Province Name | 州名(日本の場合は都道府県名) |
L | Locality Name | 地域名(日本の場合は市区町村名など) |
CN | Common Name | コモンネーム(FQDN) |
をコピペして実行。この中で、Subject: とある行を抜き出して内容確認。
Subject: C=JP, ST=Tokyo, L=Chofu, O=Epoch Ltd., CN=example.jp
C、ST、L、O、CNの内容を確認する。
で、中身をそのまま出力してコピー。ssls.comのフォームにペースト。