diff --git a/warden_ra/warden_ra.py b/warden_ra/warden_ra.py index 193df9b19a67bfb11e080a3be20f024489ef374f..8d629f1edc18ed6e4588b73d8fea7f48522c57cc 100755 --- a/warden_ra/warden_ra.py +++ b/warden_ra/warden_ra.py @@ -217,7 +217,14 @@ class EjbcaRegistry(OpenSSLRegistry): def client_data(self, ejbca_data): ejbca_username = ejbca_data["username"] username = ejbca_username[:-len(self.username_suffix)] if ejbca_username.endswith(self.username_suffix) else ejbca_username - admins = [u if not u.startswith("RFC822NAME") else u[11:] for u in ejbca_data["subjectAltName"].split(",")] + try: + alt_name = ejbca_data["subjectAltName"] + except KeyError: + alt_name = None + if alt_name: + admins = [u if not u.startswith("RFC822NAME") else u[11:] for u in alt_name.split(",")] + else: + admins = [] status = self.status_ejbca_to_str.get(ejbca_data["status"], "Other") return username, admins, status, None, ejbca_data