zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

【SSL】SecureCoreのSSL証明書で非ブラウザSSLクライアントのエラー(20200530)

【起きたこと】

SecureCoreのSSL証明書を設置していたwebサーバ(apache/nginx問わず)で
・ブラウザでのSSLチェックはOK
wget/curlなどOpenSSL系のコマンドで証明書エラー

wget https://hoge.fuga.jp/
--2020-06-01 15:44:28--  https://hoge.fuga.jp/
hoge.fuga.jp (hoge.fuga.jp) をDNSに問いあわせています... xx.xx.xx.xx
hoge.fuga.jp (hoge.fuga.jp)|xx.xx.xx.xx|:443 に接続しています... 接続しました。
エラー: hoge.fuga.jp の証明書(発行者: `/C=JP/ST=OSAKA/L=OSAKA/O=SecureCore/CN=SecureCore RSA DV CA')の検証に失敗しました:
  発行された証明書は失効しています。
hoge.fuga.jp に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。

みたいになった。

【やったこと】

1)Qualys SSL Labsでチェック

https://www.ssllabs.com/ssltest/analyze.html
→クロスルート証明書「AddTrust External CA Root」が05/30に期限切れになっている模様。

Valid until Sat, 30 May 2020 10:48:38 UTC (expired 1 day, 13 hours ago)   EXPIRED
Key RSA 4096 bits (e 65537)
Issuer AddTrust External CA Root
Signature algorithm SHA384withRSA
2)上記クロスルート証明書の差し替えを検討

SecureCoreの中間CA証明書が更新されていないかチェックしたが、現状のままだった
https://www.securecore.co.jp/support/manual/sslcert_install_apache-openssl.php
→20200602現在問題のない中間証明書になっている。こちらを配置すれば問題ないため以下は無視ください。

3)クロスルート証明書を削除

結果としてはこれでうまくいった。
https://www.securecore.co.jp/about/repository/intermediate_cert.php#sha2
上記から以下の箇所を削除してhttpサービスをreloadしたりgracefulしたりすればひとまずOK。
※どうしてもクロスルート証明書が欲しい(ガラケーからの接続など)場合はオープンのものを探す必要がありそう。

-----BEGIN CERTIFICATE-----
MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv
(中略)
Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p
0fKtirOMxyHNwu8=
-----END CERTIFICATE-----

以上