URI: 
       tdo not check certificate expiration if OpenSSL cannot be imported - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 5086fd6b27b534eaa22a8649b45bb6a78bb353f9
   DIR parent c8328ee5fcf783dec496532f3a87b07c5ce15aac
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Thu,  3 Oct 2013 07:44:04 +0200
       
       do not check certificate expiration if OpenSSL cannot be imported
       
       Diffstat:
         M lib/interface.py                    |      20 +++++++++++++-------
       
       1 file changed, 13 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/lib/interface.py b/lib/interface.py
       t@@ -46,6 +46,18 @@ def check_cert(host, cert):
            print_msg(m)
        
        
       +def cert_has_expired(cert_path):
       +    try:
       +        import OpenSSL
       +    except:
       +        print_error("Warning: cannot import OpenSSL")
       +        return False
       +    from OpenSSL import crypto as c
       +    with open(cert_path) as f:
       +        cert = f.read()
       +    _cert = c.load_certificate(c.FILETYPE_PEM, cert)
       +    return _cert.has_expired()
       +
        
        def check_certificates():
            config = SimpleConfig()
       t@@ -343,16 +355,11 @@ class Interface(threading.Thread):
                        if is_new:
                            os.rename(temporary_path, cert_path + '.rej')
                        else:
       -                    from OpenSSL import crypto as c
       -                    with open(cert_path) as f:
       -                        cert = f.read()
       -                    _cert = c.load_certificate(c.FILETYPE_PEM, cert)
       -                    if _cert.has_expired():
       +                    if cert_has_expired(cert_path):
                                print_error("certificate has expired:", cert_path)
                                os.unlink(cert_path)
                            else:
                                print_msg("wrong certificate", self.host)
       -
                        return
                    except:
                        print_error("wrap_socket failed", self.host)
       t@@ -363,7 +370,6 @@ class Interface(threading.Thread):
                        print_error("saving certificate for", self.host)
                        os.rename(temporary_path, cert_path)
        
       -
                s.settimeout(60)
                self.s = s
                self.is_connected = True