1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 """
18 A Reader supports reading metadata and key info for key sets.
19
20 @author: arkajit.dey@gmail.com (Arkajit Dey)
21 """
22
23 import os
24
25 import util
26
28 """Interface providing supported methods (no implementation)."""
29
39
40 - def GetKey(self, version_number):
41 """
42 Return the key corresponding to the given version.
43
44 @param version_number: the version number of the desired key
45 @type version_number: integer
46
47 @return: JSON string representation of a Key object
48 @rtype: string
49
50 @raise KeyczarError: if unable to read key info (e.g. IOError)
51 """
52
54 """Reader that reads key data from files."""
55
57 self._location = location
58
61
62 - def GetKey(self, version_number):
63 return util.ReadFile(os.path.join(self._location, str(version_number)))
64
66 """Reader that reads encrypted key data from files."""
67
69 self._reader = reader
70 self._crypter = crypter
71
74
75 - def GetKey(self, version_number):
76 return self._crypter.Decrypt(self._reader.GetKey(version_number))
77