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警报握手失败,用于wallhaven.cc_Python_Ssl_Pyopenssl - Fatal编程技术网

Python SSLError,sslv3警报握手失败,用于wallhaven.cc

Python SSLError,sslv3警报握手失败,用于wallhaven.cc,python,ssl,pyopenssl,Python,Ssl,Pyopenssl,Python版本:3.5.2 OS:OSX10.12 OpenSSL版本:OpenSSL 1.1.0b 2016年9月26日 我正在尝试请求“” 然后得到 ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:645) 及 或更改/apnswraper/connection.py第131行: ssl_version = self.ssl_module.PROTOCOL_S

Python版本:3.5.2

OS:OSX10.12

OpenSSL版本:OpenSSL 1.1.0b 2016年9月26日

我正在尝试请求“”

然后得到

ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:645)

或更改/apnswraper/connection.py第131行:

ssl_version = self.ssl_module.PROTOCOL_SSLv3,
进入

那有什么问题?如何解决? 非常感谢

以下解决方案不起作用
打印(请求.get(“https://alpha.wallhaven.cc“,verify=False))

你可能应该避免那种
verify=False
的事情

以下是从OpenSSL的角度来看的工作原理。确保在Python代码中执行三件事:

  • 使用服务器名称指示(
    -servername
    如下)
  • 使用TLS 1.0或更高版本(以下为tls1)
  • 使用“AddTrust外部CA根目录”(
    -CAfile
    如下)
您可以在Comodo的网站上找到“AddTrust外部CA根目录”。它已经是PEM格式了

下面是OpenSSL的
s_客户端
。它按预期完成:
验证返回代码:0(确定)

$openssl s_client-connect alpha.wallhaven.cc:443-servername alpha.wallhaven.cc-tls1-CAfile addtrustexternalcaroot.crt
已连接(00000005)
深度=3 C=SE,O=AddTrust AB,OU=AddTrust外部TTP网络,CN=AddTrust外部CA根
验证返回:1
深度=2 C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO ECC认证机构
验证返回:1
深度=1 C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO ECC域验证安全服务器CA 2
验证返回:1
深度=0 OU=域控制已验证,OU=PositiveSSL多域,CN=sni142395.cloudflaressl.com
验证返回:1
服务器没有确认服务器名扩展名。
---
证书链
0 s:/OU=Domain Control Validated/OU=PositiveSSL Multi-Domain/CN=sni142395.cloudflaressl.com
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC域验证安全服务器CA 2
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC域验证安全服务器CA 2
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC认证机构
2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC认证机构
i:/C=SE/O=AddTrust AB/OU=AddTrust外部TTP网络/CN=AddTrust外部CA根
---
服务器证书
-----开始证书-----
MIIHJZCCB2GAWIBAGIRANIVUBFH0xDX2FZFAO82KWCGYIKOZJ0EAWIWGZIX
CzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNV
BACTB1NHBGZVCMQXGJAYBGNVBAOTEUNPTU9ETYBDQSBMAW1PDGVKMTGHNGYDVQQD
EY9DT01Pre8GrunDiervBWFPFBibwwywxPzgf0AW9UIFNLY3VYZSBTZXJ2ZXIGQ0EG
MJAEFW0xNJEWMTIWMDAWMDBFW0xNZA0MTYYMZU5NTLAMGWXITAFFBGNVBASTGERV
BWFPBIBB250CM9SIFZHBGLKYXRLZDEHMB8GA1UECxMYUG9ZAXRPDMVTU0WGTXVS
dGktRG9tYWluMSQwIgYDVQQDExtzbmkxNDIzOTUuY2xvdWRmbGFyZXNzbC5jb20w
WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASX5NtMc+UpLkSrMFfo482pkybz201a
CYINLCDPWTN3YRGXA4NT42PSNXMVJUP8KFS3VWC/bklx9oTNREl/Oao4IFJzCC
BSMwHwYDVR0jBBgwFoAUQAlhZ/C8g3FP3hIILG/U1Ct2PZYwHQYDVR0OBBYEFFCr
L1HJ4N4NQTJPP3EG2CNHUMKBMA4GA1UDDWB/WQEAWIGHGDAMBGGNVHRMBAF8EAJAA
MB0GA1UDJQWMBQGCCSGAQUFBWMBBGGRBGEFBQCDAJBPBGNVHSAESDBGMDOGCYSG
AQQBSJEBAGIHMCSWKQYIKWYBBQUHAGEWH0DHBZOI8VC2VJDXJLLMNVBW9KBY5J
b20vQ1BTMAgGBmeBDAECATBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLmNv
bW9kb2NhNC5jb20vQ09NT0RPRUNDRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZl
CKNBMI5JCMWGWGYGCCSGAQUFBWEBHWJBRBGGRBGEFBQCWAOZFAHR0CDOVL2NY
DC5JB21VZG9JYTQUY29TL0NPTU9ET0VDQ0RVBWFPFBLZHBGLKYXRPB25TZWN1CMVT
ZXJ2ZXJDQTIUY3J0MCUGCCSGAQUFBZABHLODHRWOI8VB2NZCC5JB21VZG9JYTQU
Y29TMIIDBGYDVR0RbidZTCA2GC3Nuate0MJM5NS5JBG91ZGZSYXJLC3NSLMNV
bYINKi4zYmJvb2t5eC50a4INKi42ZmJvb2t4bi50a4IJKi45eDloLnRrgg8qLmFz
AWFWCMLJZS54EXQCeCoUYMVZDGJVB2T6AMMUDGUEYMVZDGJVB2T6HGUDGUC
ECOUYMVZDGJVB2T6B24UDGUCDIOUYBmFtyW4UEHL6GHAQLMVCHDG1LM2QUY29T
LMF1GG0QLMV0YM9VA3P1NRRGHIQLMZVB2RZA2VWDGLJCY5JB22CGYOUZ2VTAW50
ZxJUZxRwyxLkyxlsb2fulnrVCiINKI5OYWJVB2TNC50A4INKI5YM9VA3OZMI50
A4INKI5Pym9Va3O4BY50A4INKI5Pym9Va3Pcy50A4INKI5Pym9Va3Pcy50A4IN
KI5PYM9VA3PSAI50A4INKI5PYM9VA3PWOS50A4INKI5PYM9VA3SYS50A4INKI5P
CWJVB2T0ZC50A4INKI5QZGJVB2TYEC50A4IIKI5TNXUZGWCDSOUC21IB29RDJMU
dGuCGCoudXBxdWlja21vbmV5b25saW5lLnRvcIIQKi52aXBlcmNpZy5jby51a4IO
KI53YWXSAGF2ZW4UY2OCCZNIYM9VA3L4LNRGGS2ZMJVB2T4BI50A4IHOXG5AC50
A4INYXNPYXBYAWNLNH5EOIOYMVZDGVB2T6AMMUDGDCMJLC3RIB29REMX4LNR
gg5iZXN0Ym9va3pvbi50a4IMYnVybmFtYW4ueHl6gg5lYXRtZTNkLmNvbS5hdYIL
ZXRIB29RENUUDGZVB2RZA2VWDGLJCY5JB22CGWDLBWLUDGVYBMV0CGF5ZGF5
BG9HBI50B3CCC2HHYM9VA2E0LNRGGTPYM9VA3OZMI50A4ILAWJVB2T6OG8UDGUC
C2lib29remEzLnRrggtpYm9va3ppcy50a4ILaWJvb2t6bGoudGuCC2lib29renA5
LNRGGTPYM9VA3P3YS50A4ILAXFIB29RDGQUDGUCC2PKYM9VA3J4LNRGGZTNXUU
ZGWCC3NtyM9VA3YZLNRGHZ1CH1WNRBW9UZXLVBMXPBMUUDG9WGG52AXBLCMNP
Zy5jby51a4IMd2FsbGhhdmVuLmNjMAoGCCqGSM49BAMCA0gAMEUCIQDZDdOmPxr5
ZimuHd05p6pxqhbzayt5gpimwiwrath/Gigfonp6ajv3h7j7yy5y56s1mkirtg
90DdHE0ewI40258=
-----结束证书-----
subject=/OU=Domain Control Validated/OU=PositiveSSL Multi-Domain/CN=sni142395.cloudflaressl.com
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC域验证安全服务器CA 2
---
未发送客户端证书CA名称
服务器临时密钥:ECDH,P-256,256位
---
SSL握手读取4263字节,写入263字节
验证:好的
---
新的SSLv3密码是ECDHE-ECDSA-AES128-SHA
服务器公钥为256位
支持安全的重新协商
没有ALPN谈判
SSL会话:
协议:TLSv1
密码:ECDHE-ECDSA-AES128-SHA
会话ID:B3D3918537F17225CC5CEFAC956D1CA633EBD1AC0F5FF431B27BADCEA8D768BB
会话ID ctx:
主密钥:3484745B4C605ED65273BC86C58514EF8DD32B7847D7FA188093BBE9192451218E5FA4F3DF11D6CEEA648AFA6FE65CE6
PSK身份:无
PSK标识提示:无
SRP用户名:无
TLS会话票证生存期提示:64800(秒)
TLS会话票证:
0000-c9 ea 35 99 eb cc 0d 9b-57 14 76 91 e1 54 e
During handling of the above exception, another exception occurred:
...
urllib.error.URLError: <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:645)>
import requests.packages.urllib3.util.ssl_
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS='ALL'

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

import requests
print(requests.get("https://alpha.wallhaven.cc",verify=False))
ssl_version = self.ssl_module.PROTOCOL_SSLv3,
ssl_version = self.ssl_module.PROTOCOL_TLSv1,
  import ssl
  print(ssl.OPENSSL_VERSION)