def getValueList(self, type, name): params = self.authParams() params["name"] = self.keys.permute(concat([int2bin(type), name])) conn = self.connect() conn.request("GET", "/list-resource?" + urllib.urlencode(params)) response = conn.getresponse() if response.status != 200: # FIXME: define a ProtocolError, perhaps? raise LookupError("HTTP error: %d %s" % (response.status, response.reason)) res = response.read() return json.loads(res)
def baseGetList(user, password, type, name, use_des = 0): params = makeAuthParams(user, password) keys = KeyDeriver(user, servername(), password, use_des) params['name'] = keys.permute(concat([int2bin(type), name])) conn = connect() conn.request("GET", "/list-resource?" + urllib.urlencode(params)) response = conn.getresponse() if response.status != 200: # FIXME: define a ProtocolError, perhaps? raise LookupError("HTTP error: %d %s" % (response.status, response.reason)) res = response.read() return json.loads(res)
def getValueList(self, type, name): params = self.authParams() params['name'] = self.keys.permute(concat([int2bin(type), name])) conn = self.connect() conn.request("GET", "/list-resource?" + urllib.urlencode(params)) response = conn.getresponse() if response.status != 200: # FIXME: define a ProtocolError, perhaps? raise LookupError("HTTP error: %d %s" % (response.status, response.reason)) res = response.read() return json.loads(res)
def add(user, password, type, name, value, use_des = 0): params = makeAuthParams(user, password) keys = KeyDeriver(user, servername(), password, use_des) params['name'] = keys.permute(concat([int2bin(type), name])) params['value'] = b64enc(keys.encrypt(value)) params = urllib.urlencode(params) headers = {"Content-Type": "application/x-www-form-urlencoded", "Accept": "text/plain" } conn = connect() conn.request("POST", "/add-resource", params, headers) response = conn.getresponse() print response.status, response.reason print response.read()
def baseGetList(user, password, type, name, use_des=0): params = makeAuthParams(user, password) keys = KeyDeriver(user, servername(), password, use_des) params['name'] = keys.permute(concat([int2bin(type), name])) conn = connect() conn.request("GET", "/list-resource?" + urllib.urlencode(params)) response = conn.getresponse() if response.status != 200: # FIXME: define a ProtocolError, perhaps? raise LookupError("HTTP error: %d %s" % (response.status, response.reason)) res = response.read() return json.loads(res)
def splitAdd(user, password, name, value): splits = getSplits(user, password) k = int(splits[0]) n = (len(splits) - 1)/2 assert int(n) == n assert k <= n splitter = ShamirSplit() shares = splitter.share(value, k, n) for s in range(n): global host, port host = splits[2*s + 1] port = splits[2*s + 2] print "Sending split", s, "to", host + ":" + port add(user, password, 1, name, concat([int2bin(s + 1), int2bin(shares[s])]))
def splitAdd(user, password, name, value): splits = getSplits(user, password) k = int(splits[0]) n = (len(splits) - 1) / 2 assert int(n) == n assert k <= n splitter = ShamirSplit() shares = splitter.share(value, k, n) for s in range(n): global host, port host = splits[2 * s + 1] port = splits[2 * s + 2] print "Sending split", s, "to", host + ":" + port add(user, password, 1, name, concat([int2bin(s + 1), int2bin(shares[s])]))
def add(user, password, type, name, value, use_des=0): params = makeAuthParams(user, password) keys = KeyDeriver(user, servername(), password, use_des) params['name'] = keys.permute(concat([int2bin(type), name])) params['value'] = b64enc(keys.encrypt(value)) params = urllib.urlencode(params) headers = { "Content-Type": "application/x-www-form-urlencoded", "Accept": "text/plain" } conn = connect() conn.request("POST", "/add-resource", params, headers) response = conn.getresponse() print response.status, response.reason print response.read()
def initSplit(user, password, splits): add(user, password, 2, "split servers", concat(splits))
def __init__(self, username, servername, password, use_des=0): s_user = PBKDF2(concat([username, servername]), "user salt", Nsalt, 16) self.user = PBKDF2(password, s_user, Nuser, 16) self.enc = PBKDF2(password, s_user, Nenc, 16) self.mac = PBKDF2(password, s_user, Nmac, 16) self.use_des = use_des