def destroy(context, request): session = get_shib_session(request) data = get_base_data(context, request) root = find_root(context) certificate = root.slcs.get(session) credname = request.params['credname'] context.myproxy_destroy(certificate, credname) return HTTPFound(location=model_url(context, request))
def default(context, request): session = get_shib_session(request) data = get_base_data(context, request) if session: cert = context.get(session) data['certificate'] = cert if cert: not_before, not_after = data['certificate'].get_times() data['not_after'] = not_after.get_datetime() data['cn'] = cert.get_dn().split(',')[-1:][0].strip() return data
def default(context, request): session = get_shib_session(request) data = get_base_data(context, request) data["certificate"] = None if session: cert = context.get(session) data["certificate"] = cert if cert: not_before, not_after = data["certificate"].get_times() data["not_after"] = not_after.get_datetime() data["cn"] = cert.get_dn().split(",")[-1:][0].strip() return data
def default(context, request): data = get_base_data(context, request) session = get_shib_session(request) if session: root = find_root(context) certificate = root.slcs.get(session) data['myproxyinfo'] = None if certificate: data['myproxyinfo'] = context.myproxy_info(certificate) proxies = context.get(session) data['proxies'] = proxies hostname = socket.getfqdn() return data
def put(context, request): session = get_shib_session(request) data = get_base_data(context, request) if request.params: info = parse(request.environ, request.environ['wsgi.input']) proxy = info['proxy'] root = find_root(context) certificate = root.slcs.get(session) cred_name = proxy.name or None password = proxy.password or None context.myproxy_put(session, certificate, cred_name, password) return HTTPFound(location=model_url(context, request)) return data
a = AES.new(session_key) plaintext = a.decrypt(unhexlify(slcsResp)) # remove AES padding n = ord(plaintext[-1]) # last byte contains number of padding bytes if n > AES.block_size or n > len(plaintext): raise Exception('invalid padding') try: certificate = slcs_handler(StringIO(plaintext[:-n])) except SLCSException, e: # TODO add error handling pass #return template(simple_page,title='Error - %s' % e.expression, body='<h1>%s</h1><pre>%s</pre>' % (e.expression, e.message)) session = get_shib_session(request) context.store(session, certificate) return HTTPFound(location=model_url(context, request)) def json_default(context, request): data = {} if not (request.host.startswith('localhost:')) or (request.host.startswith('127.0.0.1:')): return {'response': 'Error', 'message': 'invalid request'} if request.method == 'POST': try: args = json.loads(request.body) except ValueError: return {'response': 'Error', 'message': 'invalid request'}