From 4c7ff9bb539f55cf1d6352bb55fde736e0267956 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Wed, 12 Apr 2017 00:31:37 +0200 Subject: [PATCH] Fix unhandled expcetion on invalid cert --- src/Content/ContentManager.py | 11 ++++++++--- src/lib/opensslVerify/opensslVerify.py | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Content/ContentManager.py b/src/Content/ContentManager.py index ff4ba8e7..f97eedd5 100644 --- a/src/Content/ContentManager.py +++ b/src/Content/ContentManager.py @@ -658,9 +658,14 @@ class ContentManager(object): if not cert_address: # Cert signer not allowed self.log.warning("Invalid cert signer: %s" % domain) return False - return CryptBitcoin.verify( - "%s#%s/%s" % (rules["user_address"], content["cert_auth_type"], name), cert_address, content["cert_sign"] - ) + + try: + cert_subject = "%s#%s/%s" % (rules["user_address"], content["cert_auth_type"], name) + result = CryptBitcoin.verify(cert_subject, cert_address, content["cert_sign"]) + except Exception, err: + self.log.warning("Certificate verify error: %s" % err) + result = False + return result # Checks if the content.json content is valid # Return: True or False diff --git a/src/lib/opensslVerify/opensslVerify.py b/src/lib/opensslVerify/opensslVerify.py index 45c58586..d0eede54 100644 --- a/src/lib/opensslVerify/opensslVerify.py +++ b/src/lib/opensslVerify/opensslVerify.py @@ -331,7 +331,7 @@ def verify_message(address, signature, message): def SetCompactSignature(pkey, hash, signature): sig = base64.b64decode(signature) if len(sig) != 65: - raise BaseException("Wrong encoding") + raise Exception("Wrong encoding") nV = ord(sig[0]) if nV < 27 or nV >= 35: return False