GENICLOUD-16
[sfa.git] / sfa / server / modpythonapi / AuthenticatedClient.py
1 from sfa.trust.certificate import Keypair
2 from sfa.trust.gid import GID
3
4 from BaseClient import BaseClient
5
6 class AuthenticatedClient(BaseClient):
7     def __init__(self, url, private_key_file, gid_file=None, cred_file=None):
8         BaseClient.__init__(self, url)
9         self.private_key_file = private_key_file
10         self.gid_file = gid_file
11         self.cred_file = cred_file
12         self.private_key = Keypair(filename = self.private_key_file)
13         if gid_file:
14             self.gid = GID(filename = self.gid_file)
15         if cred_file:
16             self.cred = Credential(filename = self.cred_file)
17
18     def computeRequestHash(self, argList):
19         return self.private_key.sign_string(str(argList))
20
21     def gidNoop(self, value):
22         gidStr = self.gid.save_to_string(True)
23         reqHash = self.computeRequestHash([gidStr, value])
24         return self.server.gidNoop(gidStr, value, reqHash)