2016-01-12

1つのSSLサーバ証明書に複数のFQDNを追加する方法

はじめに

SSLサーバ証明書のフィールドにはSubject Alternate Names(SANs)という項目が存在します。

ここに、複数のFQDNを指定してあげることによって、1つの証明書だけで複数のFQDNに拡張することが出来ます。

ちなみに、認証局によってはSubject Alternate Namesがダメなところもあるので、要注意です。

さっそくSANsな証明書を作りましょう

環境

CentOS 7.2(OpenSSL 1.0.1e-fips 11)

手順

今回は楽に発行したいので、直接openssl.cnfを編集しています。あと、メモ用に書いているので、かなり雑です。

openssl.cnfに以下を追加

1
2
3
4
5
6
7
8
9
10
11
12
13
[ req ]
req_extensions = v3_req

[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
# 追加したいFQDNを以下の形で書いていく
DNS.1 = hogehoge.jp
DNS.2 = www.hogehoge.jp
DNS.3 = www2.hogehoge.jp

あとはCSRを作成するだけ

1
openssl req -new -key ssl.key -sha256 -out key.csr

念のために確認

1
openssl req  -noout -text -in key.csr
1
2
3
4
5
6
7
8
(省略)
Requested Extensions:
X509v3 Subject Alternative Name:
DNS:hogehoge.jp, DNS:www.hogehoge.jp, DNS:www2.hogehoge.jp
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment

これで、作成完了です。簡単でしょ?