first draft for vserver-based native myplc
[tests.git] / system / TestKey.py
1 import utils
2 import os, os.path
3
4 class TestKey:
5
6     def __init__ (self,test_plc,key_spec):
7         self.test_plc=test_plc
8         self.key_spec=key_spec
9         
10     def name(self):
11         return self.key_spec['name']
12
13     def publicpath(self):
14         return "%s/keys/%s.pub"%(self.test_plc.path,self.name())
15     def privatepath(self):
16         return "%s/keys/%s.rsa"%(self.test_plc.path,self.name())
17
18     def store_key(self):
19         pub=self.publicpath()
20         priv=self.privatepath()
21         utils.header("Storing key %s in %s"%(self.name(),pub))
22         dir=os.path.dirname(pub)
23         if not os.path.isdir(dir):
24             os.mkdir(dir)
25         f=open(pub,"w")
26         f.write(self.key_spec['key_fields']['key'])
27         f.close()
28         f=open(priv,"w")
29         f.write(self.key_spec['private'])
30         f.close()
31         os.chmod(priv,0400)
32         os.chmod(pub,0444)
33