あるタイミングでSSLサーバー証明書無効化

Facebookで世界30%のSSL証明書が3月と10月に強制無効化!? あなたのサイトが大丈夫か確認する3ステップなんて記事が流れてきたので目を通してみた。

Google vs Symantecって確かにあって、SymantecがSSL証明書発行の部分を売ったんだよねーぐらいだったけど

下記の証明書発行元の証明書が無効化されるらしい

  • Symantec
  • GeoTrust
  • RapidSSL
  • Thawte

そろそろちゃんとしないと今年の秋には信頼されなくなる可能性が高いのね。
ChromeやFirefox以外のブラウザでの扱いが決まっていないけど
ページにかかれているように確認してみる。

ひとつひとつブラウザでポチポチ確認なんてできるかーーー(ノ`Д)ノ彡┻━┻∴

opensslで確認

MacとかLinuxには標準で入っているopensslコマンドで調べてみる。

$ openssl s_client -connect example.com:443 < /dev/null 2> /dev/null | openssl x509 -text |grep Issuer

実際試してみると

$ openssl s_client -connect casper.barasu.org:443 < /dev/null 2> /dev/null | openssl x509 -text |grep Issuer
Issuer: C=US, O=Let’s Encrypt, CN=Let’s Encrypt Authority X3
CA Issuers – URI:http://cert.int-x3.letsencrypt.org/

便利便利と思っていたら。

$ openssl s_client -connect www.barasu.org:443 < /dev/null 2> /dev/null | openssl x509 -text | openssl x509 -text |grep Issuer
unable to load certificate
140736003629960:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.50.2/libressl/crypto/pem/pem_lib.c:704:Expecting: TRUSTED CERTIFICATE

あーうーえー
めんどくさいなぁ。

でもAmazon以外だったら調べられそうなのでとりあえずは調査してみる。

% openssl s_client -connect www.nii.ac.jp:443 < /dev/null 2> /dev/null | openssl x509 -text | grep Issuer:
Issuer: C=JP, L=Academe, O=National Institute of Informatics, CN=NII Open Domain CA – G4

NIIはもちろんUPKIを利用している。

% openssl s_client -connect www.***.**.jp:443 < /dev/null 2> /dev/null | openssl x509 -text | grep Issuer:
Issuer: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA

うぐ・・・某所のサーバがGeoTrust Inc.だなぁ。これは更新かけないとなぁ

certコマンドで楽に調べてみる

そこで前に書いたcertコマンドで証明書情報を手軽に表示するですYO!!!
復習でもう1回書いておく。

インストール方法

Windowsの場合

GitHubのreleaseからWindows版の最新をダウンロードします。

2018/01/31時点ではcert_0.7.1_windows_64bit.zipが最新版となります。
ダウンロードが完了したら展開すると中にcert.exeが入っていますのでそれをパスの通ったところにおいてください。

Macの場合はhomebrewでインストール可能です。

$ brew tap genkiroid/homebrew-cert
$ brew install cert

Linuxの場合はWindowsと同様にGitHubのreleaseからダウンロードをします。

どのプラットホームでも楽にInstallはできます。

確認方法

使い方は

cert example.com

複数サイトを調べるなら

cert example.com example.jp

Markdown形式で出力させるなら

cert -f md example.com example.jp

結果

ブラウザからポチポチやっていくよりかなり楽です。

結果を抜粋すると

DomainName IP Issuer NotBefore NotAfter
www.barasu.org 54.230.111.191 Amazon 2017-08-14 09:00:00 +0900 JST 2018-09-14 21:00:00 +0900 JST
www.google.com 172.217.31.132 Google Internet Authority G2 2018-01-10 18:39:00 +0900 JST 2018-04-04 18:39:00 +0900 JST
www.nii.ac.jp 13.113.47.38 NII Open Domain CA – G4 2017-06-08 11:13:00 +0900 JST 2019-07-09 11:13:00 +0900 JST
webtan.impress.co.jp 202.234.31.91 GeoTrust SSL CA – G3 2017-07-21 09:00:00 +0900 JST 2018-09-12 08:59:59 +0900 JST
***.****.**.jp ***.***.***.*** RapidSSL SHA256 CA 2017-09-05 09:00:00 +0900 JST 2018-10-06 08:59:59 +0900 JST

ここまで調べてあれだけど・・・・
O=の値はわからないのね。
CNで判断擦るしかないのかな

普通にHTTP/2とか利用しているサイト多そうだしこれ秋までに間に合うの?

気になるのはChromeやFirefox以外でのブラウザがどうなるか、Safariでは見えるけどChromeでは見えないなんて言うことになると気がつかない管理者とかいそう・・・