Fix fetching the SSL socket for Python 3.4 and 3.5

This commit is contained in:
Sam Whited 2016-10-06 13:00:17 -05:00
parent 3c7236fe73
commit 8b06aa1146

View File

@ -506,7 +506,9 @@ class XMLStream(asyncio.BaseProtocol):
else:
self.event('ssl_invalid_chain', e)
else:
der_cert = transp.get_extra_info("socket").getpeercert(True)
# Workaround for a regression in 3.4 where ssl_object was not set.
der_cert = transp.get_extra_info("ssl_object",
default=transp.get_extra_info("socket")).getpeercert(True)
pem_cert = ssl.DER_cert_to_PEM_cert(der_cert)
self.event('ssl_cert', pem_cert)