From 6700364ac854275c7ecfcd3d0eaaa7c23111aacd Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 29 Aug 2018 18:57:10 +0200 Subject: [PATCH] interface: fix cert handling notably os.unlink cannot be inside the "with open" --- electrum/interface.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/electrum/interface.py b/electrum/interface.py index 5ed8aa714..b386f0f77 100644 --- a/electrum/interface.py +++ b/electrum/interface.py @@ -103,19 +103,19 @@ class Interface(PrintError): if exists: with open(self.cert_path, 'r') as f: contents = f.read() - if contents != '': # if not CA signed + if contents != '': # if not CA signed + try: + b = pem.dePem(contents, 'CERTIFICATE') + except SyntaxError: + exists = False + else: + x = x509.X509(b) try: - b = pem.dePem(contents, 'CERTIFICATE') - except SyntaxError: + x.check_date() + except x509.CertificateError as e: + self.print_error("certificate problem", e) + os.unlink(self.cert_path) exists = False - else: - x = x509.X509(b) - try: - x.check_date() - except x509.CertificateError as e: - self.print_error("certificate problem", e) - os.unlink(self.cert_path) - exists = False if not exists: ca_signed = await self.is_server_ca_signed(ca_sslc) if ca_signed: