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') print plaintext try: certificate = slcs_handler(StringIO(plaintext[:-n])) print "cert = " + str(certificate) except SLCSException, e: # TODO add error handling print "Exception: " + str(e) pass #return template(simple_page,title='Error - %s' % e.expression, body='<h1>%s</h1><pre>%s</pre>' % (e.expression, e.message)) username = certificate.get_dn() passphrase = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(8)) # Create a passphrase of length = 8 data = get_base_data(context, request) data['username'] = username data['passphrase'] = passphrase c = MyProxyClient(hostname='myproxy2.arcs.org.au', port= 7512, serverDN='/C=AU/O=APACGrid/OU=VPAC/CN=myproxy2.arcs.org.au') c.put(username, passphrase, certificate, certificate.get_key()._key, lambda *a: '', retrievers='*') print "MYPROXY Username = "******"MYPROXY Passphrase = " + passphrase print "URL = " + originURL return data
def default(context, request): data = get_base_data(context, request) return data