Пример #1
0
 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)
Пример #2
0
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)
Пример #3
0
 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)
Пример #4
0
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()
Пример #5
0
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)
Пример #6
0
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])]))
Пример #7
0
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])]))
Пример #8
0
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()
Пример #9
0
def initSplit(user, password, splits):
  add(user, password, 2, "split servers", concat(splits))
Пример #10
0
 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
Пример #11
0
def initSplit(user, password, splits):
    add(user, password, 2, "split servers", concat(splits))
Пример #12
0
 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