ChromeがCNを受け入れないでSANが必須になってしまったので面倒なことになった。
openssl req \
-newkey rsa:4096 \
-days 3650 \
-nodes \
-x509 \
-subj "/C=JP/ST=Distributed/L=Cloud/O=Cluster/CN=localhost" \
-extensions SAN \
-config <( cat /etc/pki/tls/openssl.cnf \
<(printf "[SAN]\nsubjectAltName='DNS.1:dev.mydomain.com,DNS.2:*.mydomain.jp'")) \
-keyout server.key \
-out server.crt ;\
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
- Centos7向け
-config
のパスを変えればだいたい大丈夫。-
find /etc -name 'openssl.cnf'
とかで探したり。
-
- SANの
DNS.*:
に続くドメインは複数指定可能。 - サブジェクトのCNは適当に。
実行したあとに出来上がるserver.pfxをインポートして使用しましょう。
ワンライナーなので一応1行でも。
openssl req -newkey rsa:4096 -days 3650 -nodes -x509 -subj "/C=JP/ST=Distributed/L=Cloud/O=Cluster/CN=localhost" -extensions SAN -config <( cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName='DNS.1:dev.mydomain.com,DNS.2:*.mydomain.jp'")) -keyout server.key -out server.crt ;openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
参考
OpenSSL certificate with subjectAltName one-liner | SciSpike
Chrome58で、HTTPSの自己証明書が NET::ERR_CERT_COMMON_NAME_INVALID になる場合の対応
SSL証明書(pfx形式)作成メモ - Qiita
オレオレ証明書をopensslで作る(詳細版) - ろば電子が詰まっている