diff --git a/warden3/contrib/warden_ra/warden_ra.cfg b/warden3/contrib/warden_ra/warden_ra.cfg.dist similarity index 100% rename from warden3/contrib/warden_ra/warden_ra.cfg rename to warden3/contrib/warden_ra/warden_ra.cfg.dist diff --git a/warden3/contrib/warden_ra/warden_ra.py b/warden3/contrib/warden_ra/warden_ra.py index 1df773bcf1ba6782d12e869ffc621a73a8487c72..3c5f7e9d9905c28c08ff4d66d994b47678c87e1d 100755 --- a/warden3/contrib/warden_ra/warden_ra.py +++ b/warden3/contrib/warden_ra/warden_ra.py @@ -19,7 +19,7 @@ ssl._DEFAULT_CIPHERS += ":!DH" import ejbcaws -# for local version of up to date jsonschema +# usual path to warden server sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "warden_server")) from warden_server import Request, ObjectReq, StreamLogger, FileLogger, Server, expose @@ -190,19 +190,17 @@ class CertHandler(ObjectReq): self.registry = registry @expose(read=1, debug=1) - def getCert(self, name=None, password=None, events=None): - csr_data = (events or {}).get("csr") - if not (name and password and events): + def getCert(self, csr_data=None, name=None, password=None): + if not (name and password and csr_data): raise self.req.error(message="Wrong or missing arguments", error=400) client = self.registry.get_client(name[0]) if not client: raise self.req.error(message="Unknown client", error=403) - #return {"client": client, "password": password[0], "csr_data": csr_data} try: newcert = client.new_cert(csr_data, password) except Exception as e: raise self.req.error(message="Processing error", error=403, cause=e) - return {"pem": newcert.as_pem()} + return [("Content-Type", "application/x-x509-user-cert")], newcert.as_pem() def build_server(conf): @@ -219,7 +217,7 @@ def build_server(conf): return server -# Command line arguments +# Command line def list_clients(registry, name=None, verbose=False): if name is not None: