URI: 
       tinterface.get_certificate: use public asyncio APIs - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit ea64b2af64a29d4f640714e60a136cf4e00d6d61
   DIR parent ef5ad5f22f3d42d0dc7e1e81eaacaad84b3fcda2
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Thu, 16 Apr 2020 17:31:58 +0200
       
       interface.get_certificate: use public asyncio APIs
       
       Diffstat:
         M electrum/interface.py               |      13 ++++++-------
       
       1 file changed, 6 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/electrum/interface.py b/electrum/interface.py
       t@@ -463,13 +463,12 @@ class Interface(Logger):
        
            async def get_certificate(self):
                sslc = ssl.SSLContext()
       -        try:
       -            async with _RSClient(session_factory=RPCSession,
       -                                 host=self.host, port=self.port,
       -                                 ssl=sslc, proxy=self.proxy) as session:
       -                return session.transport._asyncio_transport._ssl_protocol._sslpipe._sslobj.getpeercert(True)
       -        except ValueError:
       -            return None
       +        async with _RSClient(session_factory=RPCSession,
       +                             host=self.host, port=self.port,
       +                             ssl=sslc, proxy=self.proxy) as session:
       +            asyncio_transport = session.transport._asyncio_transport  # type: asyncio.BaseTransport
       +            ssl_object = asyncio_transport.get_extra_info("ssl_object")  # type: ssl.SSLObject
       +            return ssl_object.getpeercert(binary_form=True)
        
            async def get_block_header(self, height, assert_mode):
                self.logger.info(f'requesting block header {height} in mode {assert_mode}')