diff --git a/warden3/warden_server/warden_server.py b/warden3/warden_server/warden_server.py index 19da3f8213f0c4e353f137088b5b60c307e05a58..debf784722f14875ed466b388653d2fdd1be21ec 100755 --- a/warden3/warden_server/warden_server.py +++ b/warden3/warden_server/warden_server.py @@ -316,8 +316,11 @@ class X509Authenticator(NoAuthenticator): subj = cert.get_subject() commons = [n.get_data().as_text() for n in subj.get_entries_by_nid(subj.nid["CN"])] - ext = cert.get_ext("subjectAltName") - extstrs = [val.strip() for val in ext.get_value().split(",")] + try: + extstrs = cert.get_ext("subjectAltName").get_value().split(",") + except LookupError: + extstrs = [] + extstrs = [val.strip() for val in extstrs] altnames = [val[4:] for val in extstrs if val.startswith("DNS:")] # bit of mangling to get rid of duplicates and leave commonname first