サイト運営者の権限をローカルで確認できません。

サイト運営者の権限をローカルで確認できません。

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

wgetSAN(サブジェクト代替名)*は、1.14より前のバージョンではサポートされていません。 PyPIは証明書でCNの代わりにSANを使用し、wgetは不一致のために窒息します。 wgetをアップグレードすると、この問題は解決されます。

*またはSNI(サーバー名表示)も可能です。これにはどのようなものが適用されるのかよくわかりません。

引用:

関連情報