wgetまたはカールを使用してhttps URLを開くことはできません。
$ wget https://www.python.org
--2015-04-27 17:17:33-- https://www.python.org/
Resolving www.python.org (www.python.org)... 103.245.222.223
Connecting to www.python.org (www.python.org)|103.245.222.223|:443... connected.
ERROR: cannot verify www.python.org's certificate, issued by "/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA":
Unable to locally verify the issuer's authority.
To connect to www.python.org insecurely, use '--no-check-certificate'.
$ curl https://www.python.org
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
これはwget 1.12とcurl 7.30.0を使用するCentOS 5.5で行われます。私のローカル証明書ストアに問題があるようですが、ここでどのように進むべきかわかりません。どんなアイデアがありますか?
修正する:opensslパッケージを0.9.8e-12.el5_4.6から0.9.8e-33.el5_11にアップグレードした後、別のエラーが発生します。
$ wget https://pypi.python.org
--2015-04-28 10:27:35-- https://pypi.python.org/
Resolving pypi.python.org (pypi.python.org)... 103.245.222.223
Connecting to pypi.python.org (pypi.python.org)|103.245.222.223|:443... connected.
ERROR: certificate common name "www.python.org" doesn't match requested host name "pypi.python.org".
To connect to pypi.python.org insecurely, use '--no-check-certificate'.
答え1
同様のエラーが発生しました。https://excellmedia.dl.sourceforge.net/project/astyle/astyle/astyle%203.0.1/astyle_3.0.1_linux.tar.gzドッカーイメージ(circleci / jdk8:0.1.1)では、
私の場合、CA証明書をアップグレードして問題を解決しました。
sudo apt-get install ca-certificates
答え2
解決策1:
openssl s_client -connect whateversite.com:443 -debug
証明書キーを受け取りにコピーします/etc/ssl/certs
。
$ wget https://www.python.org --ca-certificate=/etc/ssl/certsfile
安全でない道に行きたい場合は、解決策2を試してください。
解決策2:
$ wget https://www.python.org --no-check-certificate
または使用Curl
$ curl https://www.python.org --insecure
答え3
問題は、サーバー名の表示のサポートが不足していることです。少なくともwget 1.14またはカール7.18.1が必要です。そしてWikipediaによると、少なくともOpenSSL 0.98fが必要です。
https://en.wikipedia.org/wiki/Server_Name_Inmination#Implementation
答え4
wget
SAN(サブジェクト代替名)*は、1.14より前のバージョンではサポートされていません。 PyPIは証明書でCNの代わりにSANを使用し、wgetは不一致のために窒息します。 wgetをアップグレードすると、この問題は解決されます。
*またはSNI(サーバー名表示)も可能です。これにはどのようなものが適用されるのかよくわかりません。
引用: