
GoogleChrome58で、HTTPSアクセス時に利用するオレオレ証明書(自己証明書)が”NET::ERR_CERT_COMMON_NAME_INVALID”となる場合の解決方法
2017年5月4日先日、自宅の回線を隼へ変更したタイミングで、LAN内の開発用サーバのSSL証明書で以下の警告を吐くようになりました。
NET::ERR_CERT_COMMON_NAME_INVALID
簡単にいうと、証明書(自己証明書)が機能していません。
他のブラウザではOKなので、Chrome固有と見て少し静観していましたが、気持ち悪い状況なので、今回GWを利用して解消。
通常、私は以下の手順で自己証明書を作成~署名しています。
お決まりの手順なので、バッチで済ませているのですが。
$ cat index.txt $ openssl ca -gencrl -revoke newcerts/B0C7527CFA74DCC6.pem -config /home/myCA/myCA.cnf $ openssl ca -gencrl -out /home/myCA/revoke.crl -config /home/myCA/myCA.cnf $ cat index.txt $ ./CA -newreq $ ./CA -sign $ cat index.txt $ mv newreq.pem req/B0C7527CFA74DCC7.pem $ mv newkey.pem private/B0C7527CFA74DCC7.pem $ mv newcert.pem newcerts/B0C7527CFA74DCC7.pem $ openssl x509 -in newcerts/B0C7527CFA74DCC7.pem -out server/<<domain>>.crt $ openssl rsa -in private/B0C7527CFA74DCC7.pem -out server/<<domain>>.key
手順はこのままでOKなんですが、confの記述を一部変更が必要でした。
部分的に抜粋して紹介します。
$ vim myCA.cnf ... [ req ] default_bits = 2048 default_md = sha256 default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert req_extensions = v3_req # 追記 ... [ usr_cert ] basicConstraints=CA:FALSE keyUsage = digitalSignature, keyEncipherment nsComment = "OpenSSL Generated Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always # ":always"追記 ... [ v3_req ] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names # 追記 ... [ alt_names ] # セクション追記 DNS.1 = thekyo.tech DNS.2 = *.thekyo.tech ...
そもそも、この警告が出始めた原因は何か?というと...
Google Chrome58からは、署名要求作成時のCN(コモンネーム)を評価しなくなったそうです。
そのため、コモンネームとドメインが一致しても、自己証明書の場合は警告が出てしまう。
その回避方法として、SAN(X509v3 Subject Alternative Name: DNS:)を利用されるようになった...とか。
対応後の自己証明書には、確かに(X509v3 Subject Alternative Name: DNS:)の行があり、設定した [ alt_names ]の項目がありますね。
Certificate: ... X509v3 extensions: X509v3 Basic Constraints:~ CA:FALSE X509v3 Key Usage:~ Digital Signature, Key Encipherment Netscape Comment:~ OpenSSL Generated Certificate ... X509v3 Subject Alternative Name:~ DNS:thekyo.tech, DNS:*.thekyo.tech ----------- ※
というわけで、無事解消。