以前、こんなことがあって
しかたないから、httpsなときはwgetでダウンロードしてました。
ただ、wgetでhttpsなところからダウンロードするとき
% wget https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-2.00.1.tar.gz
とかやりますと、
ERROR: cannot verify fedorahosted.org's certificate, issued by '/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA':
Unable to locally verify the issuer's authority.
To connect to fedorahosted.org insecurely, use `--no-check-certificate'.
メッセージを日本語にしているときは
エラー: fedorahosted.org の証明書(発行者: `/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA')の検証に失敗しました:
発行者の権限を検証できませんでした。
fedorahosted.org に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。
というエラーになってしまいます。
じゃあ、「--no-check-certificate」オプションをつければいいのかというと、正論としては、それはいけないでしょう、となるわけです。まあ、FreeBSDのportsだと、チェックサムを比較するので、改ざんされたファイルだったとしたら気がつきますけど・・・
ちゃんとしよう!ということで、info wgetして斜め読み。
wgetrcにて、ca_certificateというので指定すればよさそうです。
はて、FreeBSDの場合、CAのファイルはどこにあるんだろう?と思ったのですが、最初に思いついたのは、これ。
FreeBSDのportsのsecurity/ca_root_nss (←たいてい依存関係でインストールされている)にて
/usr/local/share/certs/ca-root-nss.crt
というファイルが置かれているようです。
というわけで、/usr/local/etc/wgetrc (このファイルがないときはwgetrc.sampleをコピー)の最後のあたりに
ca_certificate = /usr/local/share/certs/ca-root-nss.crt
と書いておけばよいのでした。
0 件のコメント:
コメントを投稿