2013-12-05 現在 x86_64 版の cygwin 1.7.26 では ca-certificate パッケージさえインストールしておけば問題なく動くようなので、以下の問題は解決している模様。
ただし x86 版は依然として以下の問題が発生している模様。
2012-12-11 現在、どうも証明書のパス設定がおかしいらしく、例えば以下のように error と言われてしまう。
解決方法としては、以下の何れかの方法が考えられる。
前者の方法を取るなら、オプションとして --ca-directory=/usr/ssl/certs を与えれば良いので、~/.wgetrc に以下の行を追加しておくと良い。
なお、こういうエラーの原因は strace を使って以下のようにして調べると良いとの事。
ただし x86 版は依然として以下の問題が発生している模様。
2012-12-11 現在、どうも証明書のパス設定がおかしいらしく、例えば以下のように error と言われてしまう。
$ wget -O - https://google.com --2012-12-11 14:52:43-- https://google.com/ google.com (google.com) をDNSに問いあわせています... 74.125.235.229, 74.125.235.230, 74.125.235.231, ... google.com (google.com)|74.125.235.229|:443 に接続しています... 接続しました。 エラー: `google.com' の証明書は信用されません。 エラー: `google.com' の証明書の発行者が不明です。これは、wget はデフォルトでは /etc/ssl/certs/ 以下から証明書を探そうとするのに ca-certificate パッケージで提供されるルート証明書が /usr/ssl/certs/ 以下に配置されていることが原因。
解決方法としては、以下の何れかの方法が考えられる。
- 証明書の検索パスを /usr/ssl/certs に変更する。
- /etc/ssl/certs 以下から証明書を参照出来るようにする。
前者の方法を取るなら、オプションとして --ca-directory=/usr/ssl/certs を与えれば良いので、~/.wgetrc に以下の行を追加しておくと良い。
ca-directory = /usr/ssl/certs後者の方法を取るなら、/etc/ssl/certs 以下にシンボリックリンクを作っておけばよいので、以下の手順でシンボリックリンクを作成しておけば良い。
mkdir -p /etc/ssl/certs ln -s /usr/ssl/certs/* /etc/ssl/certs/2013-03-18 現在 /etc/ssl は存在してないようなので、以下ようにした方が良い気がする。ただし将来的にどっかのパッケージが /etc/ssl を掘るようになった場合に問題が生じる可能性があるかも?
ln -s /usr/ssl /etc/
なお、こういうエラーの原因は strace を使って以下のようにして調べると良いとの事。
strace wget https://somesite 2>&1 | grep ssl参考:
- 趣味はデバッグ…… / 2012-10-08: error setting certificate verify locations
- CACert wiki / FAQ/ImportRootCert
タグ

コメントをかく