diff --git a/warden_ra/warden_ra.py b/warden_ra/warden_ra.py index 1f03a1a1dec952cea4b99c59eb4aecfb90d90147..baf73388561bc4d832e8c10be6b4ec299457af67 100755 --- a/warden_ra/warden_ra.py +++ b/warden_ra/warden_ra.py @@ -250,7 +250,13 @@ class EjbcaRegistry(OpenSSLRegistry): subjectDN = self.subject_dn_template % client.name ) edata["subjectAltName"] = ",".join(("RFC822NAME=%s" % a for a in client.admins)) - edata["status"] = self.status_str_to_ejbca.get(client.status, edata["status"]) + try: + edata["status"] = self.status_str_to_ejbca.get(client.status) + except KeyError: + # Unknown status - either came from EJBCA and translated to + # "Other", or something wrong came in later. Let's just + # keep original EJBCA status unchanged. + pass if client.pwd: edata["password"] = client.pwd edata["clearPwd"] = True