From 6a778ef6c4cc6dbc03c640601c19d8b62247b354 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 16 Oct 2009 03:58:11 +0000 Subject: [PATCH] added request_hash to get_credential() call --- sfa/plc/api.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sfa/plc/api.py b/sfa/plc/api.py index 6423f1f0..88a9f352 100644 --- a/sfa/plc/api.py +++ b/sfa/plc/api.py @@ -17,6 +17,7 @@ from sfa.util.faults import * from sfa.util.debug import * from sfa.trust.rights import * from sfa.trust.credential import * +from sfa.trust.certificate import * from sfa.util.misc import * from sfa.util.sfalogging import * from sfa.util.genitable import * @@ -115,7 +116,9 @@ class GeniAPI: self.auth = Auth(peer_cert) self.interface = interface self.key_file = key_file + self.key = Keypair(filename=self.key_file) self.cert_file = cert_file + self.cert = Certificate(filename=self.cert_file) self.credential = None # Initialize the PLC shell only if SFA wraps a myPLC @@ -183,10 +186,16 @@ class GeniAPI: from sfa.server.registry import Registries registries = Registries(self) registry = registries[self.hrn] - self_cred = registry.get_credential(None, type, self.hrn) - cred = registry.get_credential(self_cred, type, self.hrn) + # get self credential + arg_list = [None,type,self.hrn] + request_hash=self.key.compute_hash(arg_list) + self_cred = registry.get_credential(None, type, self.hrn, request_hash) + # get credential + arg_list = [self_cred,type,self.hrn] + request_hash=self.key.compute_hash(arg_list) + cred = registry.get_credential(self_cred, type, self.hrn, request_hash) cred.save_to_file(cred_filename, save_parents=True) - return cred + return cred.save_to_string(save_parents=True) def getCredentialFromLocalRegistry(self): """ @@ -222,7 +231,7 @@ class GeniAPI: new_cred.encode() new_cred.sign() - return new_cred + return new_cred.save_to_string(save_parents=True) def loadCredential (self): -- 2.47.0