fix certificate check on servers which don't allow SSLv3
This commit is contained in:
parent
251eaef0c7
commit
f183e5e80c
1 changed files with 8 additions and 2 deletions
|
|
@ -409,8 +409,14 @@ class StandardBrowser(mechanize.Browser):
|
|||
raise BrowserSSLError()
|
||||
|
||||
def _certhash(self, domain, port=443):
|
||||
certs = ssl.get_server_certificate((domain, port))
|
||||
return hashlib.sha256(certs).hexdigest()
|
||||
for proto in HTTPSConnection2._PROTOCOLS:
|
||||
try:
|
||||
certs = ssl.get_server_certificate((domain, port), ssl_version=proto)
|
||||
except ssl.SSLError as e:
|
||||
continue
|
||||
else:
|
||||
return hashlib.sha256(certs).hexdigest()
|
||||
raise e
|
||||
|
||||
def __setitem__(self, key, value):
|
||||
if isinstance(value, unicode):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue