wgetでhttpsに接続すると証明書エラー
ハマったので書いておきます。
環境
- CentOS 6.5
現象
$ wget https://bitbucket.org/ringo/hogehoge/downloads/hoge.tar.gz --2013-12-05 19:27:59-- https://bitbucket.org/ringo/hogehoge/downloads/hoge.tar.gz bitbucket.org をDNSに問いあわせています... 131.103.20.168, 131.103.20.167 bitbucket.org|131.103.20.168|:443 に接続しています... 接続しました。 エラー: bitbucket.org の証明書(発行者: `/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV CA-1')の検証に失敗しました: 発行された証明書はまだ有効ではありません。 bitbucket.org に安全の確認をしないで接続するには、 `--no-check-certificate` を使ってください。
wgetのURL、上記例ではbitbucketですが、https接続だとどこに接続してもこんなエラーが出る状態。
-
- no-check-certificateを使えばダウンロードは可能ですが、そもそもなぜこれが出るのだろう、というお話です。
解決に向けて
- ca-certificatesパッケージのインストール
2007/04/18-06、wget、証明書の検証エラー - debian-etch に関するメモ(後、lennyへアップグレード)
- crtファイルの有無
githubで証明書エラー(certification error)になったときの対応 : : まめしみ
上記2点を確認しましたが現象は変わらず。頭をひねりながらエラーメッセージを眺めていたところ、変なメッセージが目につきました。
発行された証明書はまだ有効ではありません。
「まだ」有効ではありません・・・?
$ date 2013年 12月 5日 木曜日 18:30:11 JST $ date -s "2014/05/23 10:58" 2014年 5月 23日 金曜日 10:58:00 JST $ wget https://bitbucket.org/ringo/hogehoge/downloads/hoge.tar.gz --2014-05-23 10:58:03-- https://bitbucket.org/ringo/hogehoge/downloads/hoge.tar.gz bitbucket.org をDNSに問いあわせています... 131.103.20.168, 131.103.20.167 bitbucket.org|131.103.20.168|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 FOUND (中略) `hoge.tar.gz'に保存中 100%[===============================================>] 1,401,247 573K/s 時間 2.4s 2014-05-23 10:58:07 (573 KB/s) - `hoge.tar.gz' へ保存完了 [1401247/1401247]
時間かよ!盲点すぎた。
結論
エラーメッセージを良く読もう。