チューリング不完全

What are you afraid of? All you have to do is try.

wgetでhttpsに接続すると証明書エラー

ハマったので書いておきます。

環境

現象

$ 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]

時間かよ!盲点すぎた。

結論

エラーメッセージを良く読もう。