def get_cert_req(fb, unsigned_req_ids): # Create list of request ids req_list = '' for item in unsigned_req_ids: req_list += str(item) + ',' req_list = req_list.rstrip(',') # Download unsigned requests from Facebook results = fb.fql.query('SELECT _id, id, data from SecureGridNet.ipopdata \ WHERE _id IN (' + req_list + ')') # Sign each certificate and store on fb for result in results: req_id = result['_id'] req = common.fb_decode(result['data']) # Sign certificate and encode for fb signed_cert = sign_cert_req(req) data = common.fb_encode(signed_cert) # Update list of signed ids os.system('echo ' + str(req_id) + ' >> signed_cert_ids.txt') # Store on Facebook with association to req common.fb_put_data(fb, req_id, data, 'certificate') return 0
def store_ca_cert(fb, gid): # Get the CA certificate from file system cert = common.read_file('demoCA/cacert.pem') # Encode certificate for Facebook database data = common.fb_encode(cert) # Store on Facebook common.fb_put_data(fb, gid, data, 'certificate') return 0
def fb_store_req(fb, cert_req): # Prepare data for Facebook data = common.fb_encode(cert_req) # Put data on Facebook obj_id = common.fb_put_data(fb, fb.uid, data, 'request') # Write object_id to file common.write_file('fb_req_obj_id.txt', str(obj_id)) return 0