gitやcurlやwgetでGitHubにアクセスするとcertification errorになる原因を調べてみた

中の人に裏を取ったわけではなく私の推測です。間違っているかもしれません。

2010年11月から2011年5月末までの状況(gitやwgetでcertification error)

参考

http://twitter.com/matsuu/statuses/2206462784831488

*.github.comのワイルドカードSSL証明書ってgithub.comにもマッチするのが正しい?主要なブラウザはok、wgetはNG。で、cpanmのwget http://xrl.us/cpanm で影響でてます。 curl -L -o cpanm がいいかも #perlless than a minute ago via web Favorite Retweet Reply

http://twitter.com/kjur/status/2541664878993408

@matsuu さん、いつもつぶやき楽しみに観てます。githubワイルドですがgithub.comにマッチするのは証明書のSubjectAltName拡張にgithub.comそのものがあるためで*.github.comとのマッチではないです。既知だったらごめんなさい(^^;less than a minute ago via web Favorite Retweet Reply

http://twitter.com/nahi/status/2544601332195328

@kjur @matsuu SubjectAltNameに*.github.comもありますね。SubjectAltNameにDNS/IPがあったらそっちしか見ちゃいけないルールなのでこのパターン多いですよね。wgetが古い?less than a minute ago via m.ctor.org Favorite Retweet Reply

http://twitter.com/matsuu/status/2566213544714240

@nahi @kjur なるほど。wgetリポジトリをおっかけてみたところ、2009-10-24にsubjectAltName対応がコミットされてますが未リリースでした。次のリリースで対応になると思います。less than a minute ago via web Favorite Retweet Reply

2011年6月上旬までの状況(一部環境のgit,curl,wgetでcertification error)

2011年6月上旬以降の状況(gitまたは一部環境かつ特定のURLでcertification error)

https経由のgithub.comへのアクセスでcertification errorになる問題の対処方法

gitでcertification errorになる問題の対処方法

wgetによるダウンロードでcertification errorになる問題の対処方法

  • wgetに拘らないのであれば、subjectAltNameに対応しているcURLを使う。
  • どうしてもwgetを使う必要があるのであれば、Bazaarリポジトリから最新版を取得するか、パッチを当てる。
  • gentooはnet-misc/wget-1.12-r3でsubjectAltName対応パッチ適用済。Gentooで適用されているパッチはこちら
  • wget --no-check-certificateは最終手段。

*1:subjectAltNameとしてDNS:github.com, DNS:www.github.comが設定されている。

*2:bzrリポジトリ上のwgetは修正済だが未リリース