最近の SSL 証明書では SAN (Subject Alternative Name) と言われるマルチドメイン対応しています。
例えば企業で以下の Web サイトを運用していた場合は、1 枚の証明書に全て含める事ができる様になっています。
- www.cpoint-lab.co.jp
- cpoint-lab.co.jp
- www.c-point.co.jp
- www.tida-cloud.co.jp
- www.tida-square.co.jp
- www.hamazo.co.jp
SSL 証明書のサービスで 500 ドメインまで対応とかの文字も見かけるので、相当数対応しているのではと思います。
技術的には、格納可能なバイト数として 4096 バイトの様なのでコモンネームの文字長によって変化する様です。
ただし、一度に全ての証明書更新となるため、一つの URL を追加した場合でも、全てのサーバで入れ直しする必要が出てくるので、これをめんどくさいと考えるか、一度で行えて効率化と捉えるかの判断が必要。
そんなマルチドメイン (SANs) の証明書をオレオレで作成したい。でも簡単。
openssl req \
-newkey rsa:2048 \
-days 3650 \
-nodes \
-x509 \
-subj "/C=/ST=/L=/O=/OU=/CN=www.cpoint-lab.co.jp" \
-extensions SAN \
-config <( cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=\
'DNS:www.cpoint-lab.co.jp,\
DNS:cpoint-lab.co.jp,\
DNS:www.c-point.co.jp,\
DNS:www.tida-cloud.co.jp,\
DNS:www.tida-square.co.jp,\
DNS:www.hamazo.co.jp,\
DNS:*.c-point.ne.jp'\
")) \
-keyout server.key \
-out server.crt
オラオラ~な証明書なので、ワイルドカードも含めたりとなんでもし放題です。自己CA局作ってブラウザにインストールする場合は、CA局を事前に構築する必要がありますが、証明書だけ使えれば良いという事であれば、この 1 行でサクッと作る事ができます。