Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SSLError:sslv3警报握手失败_Python_Ssl_Openssl_Branch.io - Fatal编程技术网

Python SSLError:sslv3警报握手失败

Python SSLError:sslv3警报握手失败,python,ssl,openssl,branch.io,Python,Ssl,Openssl,Branch.io,我正在打以下电话到branch.io import requests req = requests.get('https://bnc.lt/m/H3XKyKB3Tq', verify=False) 它在我的本地机器上运行良好,但在服务器上出现故障 SSLError: [Errno 1] _ssl.c:504: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure Openssl版本:

我正在打以下电话到branch.io

import requests
req = requests.get('https://bnc.lt/m/H3XKyKB3Tq', verify=False)
它在我的本地机器上运行良好,但在服务器上出现故障

SSLError: [Errno 1] _ssl.c:504: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Openssl版本:

本地:OpenSSL 0.9.8zg 2015年7月14日

服务器:OpenSSL 0.9.8e-fips-rhel5 2008年7月1日

Python

本地:2.7.10 服务器:2.7.6

分支io服务器连接

Chrome验证了DigiCert SHA2安全服务器CA颁发了该网站的证书。服务器未提供任何证书透明度信息

我尝试了urllib2,但结果是一样的。有什么帮助吗?

已确定问题所在。对问题进行了描述,并给出了解决方案。我做了以下工作以使其正常工作:

  • 轻松安装pyOpenSSL
  • 易于安装ndg httpsclient
  • 轻松安装pyasn1

  • 如果您在使用urllib2时遇到此错误,您也需要升级到python 2.7.9或更高版本。

    您至少需要OpenSSL 0.9.8o来处理sha256证书,因此您的服务器版本太旧。我在2013年2月11日尝试了OpenSSL 1.0.1e-fips。它给了我同样的错误。你的PHP使用的是那个版本的OpenSSL吗?有关如何检查的详细信息,请参见此处:其使用OpenSSL 1.0.0-fips 2010年3月29日这也可能是SNI的问题,因为
    OpenSSL s_客户端-连接bnc.lt:443
    不工作,而
    OpenSSL s_客户端-连接bnc.lt:443-服务器名bnc.lt
    工作正常。我想说,SHA2签名证书和SNI都可能导致问题,但解决方案是相同的:需要更新OpenSSLI:pip也需要安装pyasn1,以删除一些“SSL对等验证的subjectAltName检查将被禁用”警告,但如果不这样做,我就省去了很多Headscratch。谢谢,我错过了ndg httpsclient!以防这不能解决问题。将pyOpenSSL修复为0.13 it doesI在使用请求包和Python 2.7.6(Linux Mint 17.3)时遇到了相同的问题/错误,我遵循了这个答案,错误消失了。感谢you@Félix:你能描述一下“将pyOpenSSL固定到0.13”的意思吗,包括如何做到这一点?你的意思是不允许0.13.1?