最近の 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 行でサクッと作る事ができます。