Skip to content
Snippets Groups Projects
Commit 05bcc71a authored by Pavel Kácha's avatar Pavel Kácha
Browse files

warden-ra adapted for returning directly pem instead of json (by means of new warden framework)

parent bb76dd78
No related branches found
No related tags found
No related merge requests found
...@@ -19,7 +19,7 @@ ssl._DEFAULT_CIPHERS += ":!DH" ...@@ -19,7 +19,7 @@ ssl._DEFAULT_CIPHERS += ":!DH"
import ejbcaws 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")) sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "warden_server"))
from warden_server import Request, ObjectReq, StreamLogger, FileLogger, Server, expose from warden_server import Request, ObjectReq, StreamLogger, FileLogger, Server, expose
...@@ -190,19 +190,17 @@ class CertHandler(ObjectReq): ...@@ -190,19 +190,17 @@ class CertHandler(ObjectReq):
self.registry = registry self.registry = registry
@expose(read=1, debug=1) @expose(read=1, debug=1)
def getCert(self, name=None, password=None, events=None): def getCert(self, csr_data=None, name=None, password=None):
csr_data = (events or {}).get("csr") if not (name and password and csr_data):
if not (name and password and events):
raise self.req.error(message="Wrong or missing arguments", error=400) raise self.req.error(message="Wrong or missing arguments", error=400)
client = self.registry.get_client(name[0]) client = self.registry.get_client(name[0])
if not client: if not client:
raise self.req.error(message="Unknown client", error=403) raise self.req.error(message="Unknown client", error=403)
#return {"client": client, "password": password[0], "csr_data": csr_data}
try: try:
newcert = client.new_cert(csr_data, password) newcert = client.new_cert(csr_data, password)
except Exception as e: except Exception as e:
raise self.req.error(message="Processing error", error=403, cause=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): def build_server(conf):
...@@ -219,7 +217,7 @@ def build_server(conf): ...@@ -219,7 +217,7 @@ def build_server(conf):
return server return server
# Command line arguments # Command line
def list_clients(registry, name=None, verbose=False): def list_clients(registry, name=None, verbose=False):
if name is not None: if name is not None:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment