def initFromPath(self, path):
'Will initialize the directory from the path supplied'
import cPickle
data = None
with open(path,'r') as f:
data = cPickle.load(f)
assert data != None, "Expected some data, did not load any."
priv_key_from_pem = lambda x: crypto.load_privatekey(crypto.FILETYPE_PEM, x)
for userName, keyTuple in data['users'].iteritems():
self.users[userName] = User(userName, directory=self,
ecdsaSigningKey=ecdsa.SigningKey.from_pem(keyTuple[0]),
rsaSigningKey=priv_key_from_pem(keyTuple[1]))
self.users[userName].tags = keyTuple[2]
for orgName, tuple in data['organizations'].iteritems():
org = Organization(orgName, ecdsaSigningKey=ecdsa.SigningKey.from_pem(tuple[0]),
rsaSigningKey=priv_key_from_pem(tuple[0]))
org.signedCert = crypto.load_certificate(crypto.FILETYPE_PEM, tuple[2])
org.networks = [Network[name] for name in tuple[3]]
self.organizations[orgName] = org
for nat, cert_as_pem in data['nats'].iteritems():
self.ordererAdminTuples[nat] = crypto.load_certificate(crypto.FILETYPE_PEM, cert_as_pem)
评论列表
文章目录